很多情況下,大家都會(huì)遇到一個(gè)問(wèn)題,自己電腦上配置的SSH Key可以與自己的gitbub賬號(hào)匹配,卻不能匹配公司內(nèi)部的git服務(wù)器賬號(hào),即gitlab。下面我將講述這兩種賬號(hào)的配置過(guò)程:
1. github賬號(hào)SSH Key配置
(1) 設(shè)置git的名字和郵箱,這點(diǎn)很重要,尤其是對(duì)于gitlab的配置
git config --global user.name "你github的用戶名"
git config --global user.email "你github的郵箱"
或者強(qiáng)制修改用戶名和郵箱
git config --global --replace-all user.name "你github的用戶名"
git config --global --replace-all user.email "你github的郵箱"
(2) 生成SSH Key
ssh-keygen -t rsa -C "你的github賬號(hào)對(duì)應(yīng)的郵箱"
可以看到結(jié)果如下,選擇默認(rèn),passphrase可以根據(jù)自己的需要設(shè)置。

(3)輸入cat id_rsa.pub獲取公鑰或者到本地公鑰保存的文件中獲取(C:/Users/你的主機(jī)名字/.ssh/id_rsa.pub)

(4)將公鑰加入到github中,選擇setting->SSH KEY添加即可。如下圖:
記住,這里的pub文件(公鑰)叫做id_rsa.pub
2. 配置gitlab 用戶名和郵箱
(1) 設(shè)置git的名字和郵箱,這點(diǎn)很重要,尤其是對(duì)于gitlab的配置
git config --global user.name "你gitlab的用戶名"
git config --global user.email "你gitlab的郵箱"
(2) 生成SSH Key,方法和上面類似
ssh-keygen -t rsa -C "GitLib" -b 4096
可以看到結(jié)果如下,選擇默認(rèn),passphrase可以根據(jù)自己的需要設(shè)置。

(3)輸入cat hty.pub獲取公鑰或者到本地公鑰保存的文件中獲取 (C:/Users/你的計(jì)算機(jī)名字/.ssh/hty.pub)

(4)將公鑰加入到gitlab中,如下圖:

這里取名為hty.pub。
3. 配置兩種不同的SSH key
(1)首先需要將密鑰添加到SSH agent中,因?yàn)槟J(rèn)只讀取id_rsa,為了讓SSH識(shí)別新的私鑰,需將其添加到SSH agent中:
ssh-add ~/.ssh/hty
(2)如果出現(xiàn)Could not open a connection to your authentication agent的錯(cuò)誤,就試著用以下命令:
ssh-agent bash
ssh-add ~/.ssh/hty
(3)找到.ssh的默認(rèn)目錄,一般在C:\Users\Administrator目錄下,將git bash的工作目錄切換到該目錄,如下:
cd C:\Users\Administrator\.ssh
(4)創(chuàng)建config文件,內(nèi)容如下:
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Host gitlab
HostName 你的gitlab項(xiàng)目域名
PreferredAuthentications publickey
IdentityFile ~/.ssh/hty
我的配置如圖:

4. 驗(yàn)證是否正確
(1) 針對(duì)github,輸入指令:
ssh -T git@github.com
或者

(2) 針對(duì)gitlab, 輸入指令:
ssh -T git@gitlab
或者

以上結(jié)果,表示配置成功。如果失敗,請(qǐng)仔細(xì)閱讀上述步驟,或者給我留言,謝謝!
再獻(xiàn)上我的操作流程:
github配置過(guò)程:

gitlab配置過(guò)程:
