github 多账号使用ssh key

一直在用github的ssh key,大家都知道使用ssh key可以不用每次都输入用户名密码,一定程度上可以提高效率。

如果是单账户,很方便,默认拿id_rsa与你的 github服务器的公钥对比;

如果是多用户如user1,user2,在同一台服务器上,那么id_rsa_pub就不能用在user2的身上了,怎么办呢?

一、新建user1、user2的SSH Key

#新建user1 SSH key:

1
2
cd ~/.ssh    
 ssh-keygen -t rsa -C "user1@email.com"

一路回车即可;

github 多账号使用ssh key

 # 新建user2的SSH key

1
#ssh-keygen -t rsa -C "user2@email.com"

# 设置名称为

1
2
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):
 /c/Users/Administrator/.ssh/id_rsa_user2


github 多账号使用ssh key



二、

密钥添加到SSH agent中

因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:

1
ssh-add  ~/.ssh/id_rsa_user2

如果出现Could not open a connection to your authentication agent的错误,就试着用以下命令:

1
2
ssh-agent  bash
ssh-add  ~/.ssh/id_rsa_user2

github 多账号使用ssh key


三、

修改config文件

 在~/.ssh目录下找到config文件,如果没有就创建:

1
touch config

然后修改我的config配置如下:

如果存在的话,其实就是往这个config中添加一个Host:

#建一个github别名,新建的帐号使用这个别名做克隆和更新

其规则就是:从上至下读取config的内容,在每个Host下寻找对应的私钥。

这里将GitHub SSH仓库地址中的git@github.com替换成新建的Host别名如:github2,那么原地址 是:git@github.com:test/Mywork.git,替换后应该是:github2:test/Mywork.git.


github 多账号使用ssh key


四、

打开新生成的~/.ssh/id_rsa_user2.pub文件,将里面的内容添加到GitHub后台。(第二个新账号)

第一个github帐号下的SSH Key中也要记得添加。(添加到第一个账号)

添加相信大家都会,不操作了


五、

测试

$ ssh -T git@github.com

Hi chenlianjiang! You've successfully authenticated, but GitHub does not provide shell access.


 $ ssh -T git@github2

Hi 1047353200! You've successfully authenticated, but GitHub does not provide shell access.

github 多账号使用ssh key


六、

应用

测试成功,尝试克隆1047353200账号下的远程仓库。如下:

$ git clone git@github2:xxxxxx/git-demo.git


此时,一个服务器,可以拉去不同仓库的代码、







      本文转自crazy_charles 51CTO博客,原文链接:http://blog.51cto.com/douya/1836975,如需转载请自行联系原作者



上一篇:IDEA快捷键拆解系列(十二):VCS篇


下一篇:Nginx模块学习之————accesskey权限模块使用(Nginx防盗链详细解说),防止别人下载文件和图片