公司用的是gitlab,默认会在.ssh目录下生成id_rsa和id_rsa.pub。
但是当本人用github,也需要生成ssh key,那就会将原来的ssh key给覆盖掉,
为了不让覆盖,我将github上生成的ssh key已不同的名字保存到了其它文件夹~/.ssh/githubsshkey下,然后每次上传github代码时,都需要重新设置key。
重新设置key的方法参考:
https://blog.csdn.net/roserose0002/article/details/40078577
主要是如下两步:
eval `ssh-agent`
ssh-add ~/.ssh/githubsshkey/rsa
非常麻烦。
今天在网上找到了一个方法:
http://xuyuan923.github.io/2014/11/04/github-gitlab-ssh/
https://blog.csdn.net/zheng911209/article/details/49909113
在.ssh目录下新建一个config文件配置一下,就能解决gitlab与github的ssh key的冲突。
config文件的内容如下:
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/githubsshkey/id_rsa
然后输入以下语句检测是否连接成功(注意:在输入以下语句前,你已经把github和gitlab的ssh key都已经绑定好了;github、gitlab和config文件的host名字相同)
ssh -T git@github
ssh -T git@gitlab
如果输出Hi xuyuan923! You’ve successfully authenticated, but GitHub does not provide shell access.,说明成功的连上github了。