因为和朋友共用同一台阿里云主机,但是我们在gitee(码云)上有不同的项目(repository),所以需要在一台机器上生成多个SSH Key。
操作过程比较简单,网上也都能百度到,在这里还重复记录,是因为自己在操作过程中还是遇到了一些坑。
第一步,生成SSH Key
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
就是上面简简单单的单一条命令。
需要注意的是默认生成的公私钥名字都叫id_rsa、id_rsa.pub。
在回车过程中,有一步是需要确认生成文件名字的。
目录保持不变,可以将文件加个后缀,例如:id_rsa_larry。
然后就可以一路回车了。
第二步,配置/用户名/.ssh/config
这个文件有可能不存在,如果不存在直接编辑并创建即可。
假如你有两个SSH key,id_rsa_test1和id_rsa_test2。
那么配置应该是这样的:
#test1
Host gitee1
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_test1
#test2
Host gitee2
HostName gitee.com
PreferredAuthentications publickey
IdentityFile /home/static/id_rsa_test2
解释一下:
Host:别名的存在
HostName:git server的域名吧
PreferredAuthentications :我也不知道,从字面意思理解,可能是优先公钥认证吧
IdentityFile :第一步生成的私钥地址
上面的生成配置都没啥问题,关键怎么用呢?其实也蛮简单的,就是用到上面说到的别名。
例如你要clone一个repository,如果只有一个SSH key,肯定直接就是这样:
git clone git@gitee.com:zhaojingzhou/xxxx.git
如果有多个SSH Key 只需要将gitee.com 替换为repository对应的key的别名即可,如下:
git clone git@gitee2:zhaojingzhou/xxxx.git
搞定!
(以上内容为原创,如有雷同,纯属搞笑)