Mac生成多個ssh並配置不同域名

Adrenine發表於2018-11-22

1.前言

有時候我們會有多個git賬號,如GitHub,GitLab,這時如果使用同一個郵件註冊,那不會有問題,但是假如用的是不同的郵件註冊賬號,這就需要生成不同的ssh檔案併為其配置相應的域名。

2.生成一個SSH-Key

$ ssh-keygen -t rsa -C "youremail@email.com"//自己git賬號對應的郵箱
複製程式碼

如若一路enter,你會得到:

id_rsa
id_rsa.pub
複製程式碼

這樣不是不可以,但是我們要生成多個,所以最好起有區分的名字。

Mac生成多個ssh並配置不同域名

3.設定密碼

Mac生成多個ssh並配置不同域名
可以不設定,也可以鍵入密碼

4.重複步驟2和3,生成對應的rsa和rsa.pub檔案

//GitHub生成的對應ssh-key
id_github_ras   //私鑰
id_github_ras.pub   //公鑰

//Gitlab生成的對應ssh-key
id_gitlab_ras
id_gitlab_ras.pub
複製程式碼

5.配置ssh-key到對應的域名

5.1在~/.ssh目錄下生成一個config檔案
cd ~/.ssh
vim config
複製程式碼

5.2在config檔案中鍵入

Host github
HostName github.com
User git
PreferredAuthentications publickey
#下面填寫的是私鑰名,沒有pub字尾
IdentityFile ~/.ssh/id_github_rsa

Host gitlab
HostName gitlab.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_gitlab_rsa 
複製程式碼

6.將專有金鑰新增到 ssh-agent 中

ssh-add ~./ssh/id_github_rsa
ssh-add ~./ssh/id_gitlab_rsa
複製程式碼

tips:
把專有金鑰新增到 ssh-agent 中

ssh-add ~./ssh/id_rsa
複製程式碼

從 ssh-agent 中刪除金鑰

ssh-add -d ./ssh/id_rsa.pub
複製程式碼

檢視 ssh-agent 中的金鑰

ssh-add -l
複製程式碼

7.將rsa.pub加入到GitHub/Gitlab等網站

cat ~./ssh/id_github_rsa.pub
複製程式碼

將該字串拷貝貼上到Git網站對應新增ssh-key的地方:
GitHub:

Setting->SSH and GPG keys
複製程式碼

GitLab:

Setting->SSH keys
複製程式碼

其他網站自己找到新增ssh-key的位置,新增即可。

8.現在就可以使用ssh而不是https愉快的玩耍git了

git clone git@github.com:XXX/demo.git
git clone git@gitlab.com:XXX/demo.git
複製程式碼

相關文章