Mac OS 下配置多個 SSH Key

蘆葦科技App技術團隊發表於2019-01-18

大家在工作中可能會遇到需要在一臺電腦上配置不同的 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 賬號密碼

Mac OS 下配置多個 SSH Key

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 新增到相應平臺

Mac OS 下配置多個 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"

複製程式碼

相關文章