多个Github账号如何配置SSH Key?
作为一个开发人员,很多时候有这种需求,比如:公司也是使用Github,同时业余时间也会写一点开源项目提高自己,所以导致的结果就是如果默认生成的Key配置到了公司账户的Github上,那么个人的账号将无法通过SSH协议访问。那么如何做到都是用SSH协议访问呢?
创建不同的密钥
创建两个密钥,创建方法和前面有讲:
ssh-keygen -t rsa -b 4096 -C "smiletecher888@qq.com" #个人账号
ssh-keygen -t rsa -b 4096 -C "ixueaedu888@163.com" #公司账号
将上面的邮箱换成你的。
生成完成了,将现在的改名,然后在生生成一次,就可以生成如下两个密钥:
~/.ssh/id_rsa:用来当公司账户
~/.ssh/id_rsa_person:用来当前个人账户
修改~/.ssh/config配置文件
# 该文件用于配置私钥对应的服务器
# Default github user(first@mail.com)
Host github.com
HostName github.com
User git
IdentityFile /Users/smile/.ssh/id_rsa
# 建一个person.github.com的别名,个人仓库帐号使用这个别名做克隆和更新
Host person.github.com
HostName github.com
User git
IdentityFile /Users/smile/.ssh/id_rsa_person
然后将这些Key添加到相应的Github账号
添加这些key到SSH agent中
因为默认只读取id_rsa,为了让他能读取到id_rsa_person,需要添加:
ssh-add /Users/smile/.ssh/id_rsa
ssh-add /Users/smile/.ssh/id_rsa_person
测试是否配置正确
ssh -T git@github.com #测试公司账户是否配置账户
ssh -T git@person.github.com #测试个人账号是否配置正确
网址的更改
对于公司项目,使用方法没有变,因为使用的默认id_rsa Key。
#这是我们公司项目,可以如下命令
Clonegit clone git@github.com:ixuea/simditor_aliyun_rails.git
个人项目Clone的时候地址就要更改一下了:
git clone git@person.github.com:ixueaedu/first2.git
经测试Push也没问题。
本文来自《完全搞懂Github电子书》,视频教程也可以通过:爱学啊官网 、腾讯课堂、网易云课堂、淘宝教育学习。