公司用的是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了。