1.前言
有時候我們會有多個git賬號,如GitHub,GitLab,這時如果使用同一個郵件註冊,那不會有問題,但是假如用的是不同的郵件註冊賬號,這就需要生成不同的ssh檔案併為其配置相應的域名。
2.生成一個SSH-Key
$ ssh-keygen -t rsa -C "youremail@email.com"//自己git賬號對應的郵箱
複製程式碼
如若一路enter,你會得到:
id_rsa
id_rsa.pub
複製程式碼
這樣不是不可以,但是我們要生成多個,所以最好起有區分的名字。
3.設定密碼
可以不設定,也可以鍵入密碼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
複製程式碼