关于git配置多个ssh key

问题来源:为什么要配置多个ssh key?

平时开发中,我们需要将代码拖放到github、码云(gitee.com)等平台,代码的pull push需要权限,有两种方式https或者添加ssh key公钥,当然我们只说ssh,有时候一个人可能同时对多个代码托管平台或者多个项目同时操作,ssh key被使用过一次之后就不能再次添加到别的项目中,这时候就需要对不同项目配置对应的ssh key了。

1.生成公钥, 邮箱账号随便填

ssh-keygen -t rsa -C "[email protected]"

2.设置名称为rsa文件名称,不写默认是id_rsa.xx

Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): id_rsa_test
打开.ssh文件夹可以发现生成了两个新的文件,id_rsa_test和id_rsa_test.pub,把公钥(pub结尾的)添加到对应平台账户中。

3.写config文件

最关键的,我们需要在.ssh文件夹下新建个config文件(相当于一个映射文件)

Host gitee1.com  (相当于一个别名,远程仓库地址的域名别名)
HostName gitee.com (平台域名)
User [email protected] (仓库所属的账号)
PreferredAuthentications publickey(固定的)
IdentityFile ~/.ssh/rsa_my   (对应使用的ssh key)

Host aa
HostName gitee.com
User [email protected]
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_test
4.测试是否能够通信

ssh -T gitee1.com
ssh -T aa
如果成功Hi xxx! You've successfully authenticated, xxxx

在以后使用时git clone gitee1.com:janjanjan/test.git 中的域名需要使用config中配置的别名,这样引导其选择对应的公钥。如果不使用别名,默认会选择id_rsa.pub。

文章目的是记录下来便于自己看。本次文章写得有点晚,有些细节忘记了,若有错误,请指出。

参考http://www.cnblogs.com/zichi/p/4704824.html

你可能感兴趣的:(关于git配置多个ssh key)