天天看點

github/gitlab同時管理多個ssh key

文章目錄

    • 思路
    • 操作方法
      • 檢視已有的密鑰
      • 生成新的公鑰
      • 編輯config
      • SSHKeys
      • 測試
    • 參考

可以先看看另外一篇文章 利用 SSH 完成 Git 與 GitHub 的綁定

思路

ssh 方式連結到 Github/GitLab,需要唯一的公鑰,如果想同一台電腦綁定兩個Github/GitLab 帳号,需要兩個條件:

能夠生成兩對 私鑰/公鑰

push 時,可以區分兩個賬戶,推送到相應的倉庫

解決方案:

生成 私鑰/公鑰 時,密鑰檔案命名避免重複

設定不同 Host 對應同一 HostName 但密鑰不同

取消 git 全局使用者名/郵箱設定,為每個倉庫獨立設定 使用者名/郵箱

操作方法

檢視已有的密鑰

github/gitlab同時管理多個ssh key

有點亂,哈哈,可能是之前想解決gitlab和github的ssh相沖突的問題的,一直沒搞定,就這樣拖着…

生成新的公鑰

生成新的公鑰,并命名為 id_rsa_2 (保證與之前密鑰檔案名稱不同即可,檔案名最好有意義,否則寫後面的配置的時候寫錯檔案名,我的檔案名是id_rsa_gitlab)

$ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitlab -C "[email protected]"
           
github/gitlab同時管理多個ssh key
github/gitlab同時管理多個ssh key

編輯config

.ssh

檔案夾下建立 config 檔案并編輯,令不同 Host 實際映射到同一HostName,但密鑰檔案不同。Host 字首可自定義,如下所示

一個是github的,一個是gitlab的

github/gitlab同時管理多個ssh key

SSHKeys

将生成的 id_rsa_github.pub裡面的内容copy到gitlab中SSHKeys裡面(和github類似),而後點選Add Key即可

github/gitlab同時管理多個ssh key
github/gitlab同時管理多個ssh key

測試

測試連接配接是否成功:

github/gitlab同時管理多個ssh key
github/gitlab同時管理多個ssh key

再次測試:

github/gitlab同時管理多個ssh key

參考

https://blog.csdn.net/jifaliwo123/article/details/79126785

https://xuyuan923.github.io/2014/11/04/github-gitlab-ssh/

繼續閱讀