大家在工作中可能會遇到需要在一臺電腦上配置不同的 SSH Key 的情況,例如我們需要同時使用個人 Github 以及公司的 Gitlab 情況,這時我們就需要配置不同的 SSH Key 了。具體操作步驟如下:
1、開啟終端,切換到系統的 SSH 目錄下
cd ~/.ssh
複製程式碼
2、生成自己 Github 的 SSH Key
ssh-keygen -t rsa -C "自己Github賬號" -f github_rsa
複製程式碼
3、輸入 Github 賬號密碼
4、Github SSH 公鑰獲取
cat ~/.ssh/id_rsa.pub
複製程式碼
5、生成公司 Gitlab 的 SSH Key
ssh-keygen -t rsa -C "公司Gitlab賬號" -f company_rsa
複製程式碼
6、公司 SSH 公鑰獲取
cat ~/.ssh/id_rsa.pub
複製程式碼
7、新增配置檔案 config (如果有則直接編輯,沒有則建立,路徑 ~/.ssh/config),配置寫法如下:
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/company_rsa
複製程式碼
- Host 名稱可以隨便設定,HostName 就是網站的地址
- 這裡要注意的一點是,例如公司 Gitlab 主機地址是http://10.10.10.89:11000,那麼 HostName 就是 10.10.10.89
8、把之前生成的 SSH Key 新增到相應平臺
9、測試一下是否新增成功
# 測試 GitHub
ssh -T git@github.com
# 測試 GitLab
ssh -T git@gitlab.com
複製程式碼
10、不同專案切換不同的 ssh
取消全域性 使用者名稱/郵箱設定,並進入專案資料夾單獨設定
git config –global –unset user.name
git config –global –unset user.email
# 單獨設定每個repo 使用者名稱/郵箱
git config user.email "xxxx@xx.com"
git config user.name "xxxx"
複製程式碼