解决为多个git账户的id_rsa文件在一台共享server上共存工作的问题
github及类似github等管理工具要求每个git user需要生成一对rsa密钥(公钥和私钥),然后把私/公钥放置于:/home/user/.ssh/id_rsa 和 /home/user/.ssh/id_rsa.pub并且将公钥注册于github或者类似工具上。这样当该账户和git 管理工具进行ssh 交互的时候,user 生成的公钥和私钥就会被用来认证是不是该用户,
github及类似github等管理工具要求每个git user需要生成一对rsa密钥(公钥和私钥),然后把私/公钥放置于:
/home/user/.ssh/id_rsa 和 /home/user/.ssh/id_rsa.pub
并且将公钥注册于github或者类似工具上。
这样当该账户和git 管理工具进行ssh 交互的时候,user 生成的公钥和私钥就会被用来认证是不是该用户,如果认证不通过就会被reject——或者类似的不成功动作。
而如果多个git user在一台共享的server想协调工作,并且都是通过自己的git user 账号进行git 操作,但由于/home/windriver/.ssh/这个公共linux账户目录下只能放置一个id_rsa文件,如果把多个git user的密钥放置在一起,都存在id_rsa和id_rsa.pub下的方式是行不通的。
解决方法是通过建立ssh config的方式:
在linux公共账户目录:
/home/windriver/.ssh/
下建立config文件(如果不存在的话,存在就修改这个文件)
写入对每个git 账户使用独自的ssh 密钥的配置:
Host pek-mcbuild2.wrs.com
HostName pek-mcbuild2.wrs.com
User windriver
IdentityFile /home/windriver/.ssh/id_rsa
Host pek-mcbuild2.wrs.com
HostName pek-mcbuild2.wrs.com
User qcao1
IdentityFile /home/windriver/.ssh/qcao1_id_rsa
这样当登录相同的server,不同的git user会使用不同的密钥,但前提是这些密钥都已经按照config文件中的配置要求正确放置和命名。
资料:
http://www.freshblurbs.com/blog/2013/06/22/github-multiple-ssh-keys.html
更多推荐
所有评论(0)