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

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐