可以先看看另外一篇文章利用 SSH 完成 Git 與 GitHub 的綁定
思路
ssh 方式鏈接到 Github/GitLab,需要唯一的公鑰,如果想同一臺電腦綁定兩個Github/GitLab 帳號,需要兩個條件:
能夠生成兩對 私鑰/公鑰
push 時,可以區分兩個賬戶,推送到相應的倉庫
解決方案:
生成 私鑰/公鑰 時,密鑰文件命名避免重複
設置不同 Host 對應同一 HostName 但密鑰不同
取消 git 全局用戶名/郵箱設置,爲每個倉庫獨立設置 用戶名/郵箱
操作方法
查看已有的密鑰
有點亂,哈哈,可能是之前想解決gitlab和github的ssh相沖突的問題的,一直沒搞定,就這樣拖着…
生成新的公鑰
生成新的公鑰,並命名爲 id_rsa_2 (保證與之前密鑰文件名稱不同即可,文件名最好有意義,否則寫後面的配置的時候寫錯文件名,我的文件名是id_rsa_gitlab)
$ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab -C "[email protected]"
編輯config
在 .ssh
文件夾下新建 config 文件並編輯,令不同 Host 實際映射到同一HostName,但密鑰文件不同。Host 前綴可自定義,如下所示
一個是github的,一個是gitlab的
SSHKeys
將生成的 id_rsa_github.pub裏面的內容copy到gitlab中SSHKeys裏面(和github類似),而後點擊Add Key即可
測試
測試連接是否成功:
再次測試:
參考
https://blog.csdn.net/jifaliwo123/article/details/79126785
https://xuyuan923.github.io/2014/11/04/github-gitlab-ssh/