很多情況下,大家都會遇到一個問題蚪拦,自己電腦上配置的SSH Key可以與自己的gitbub賬號匹配杖剪,卻不能匹配公司內(nèi)部的git服務(wù)器賬號,即gitlab驰贷。下面我將講述這兩種賬號的配置過程:
1. github賬號SSH Key配置
(1) 設(shè)置git的名字和郵箱盛嘿,這點很重要,尤其是對于gitlab的配置
git config --global user.name "你github的用戶名"
git config --global user.email "你github的郵箱"
或者強制修改用戶名和郵箱
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賬號對應(yīng)的郵箱"
可以看到結(jié)果如下括袒,選擇默認(rèn)孩擂,passphrase可以根據(jù)自己的需要設(shè)置。
(3)輸入cat id_rsa.pub獲取公鑰或者到本地公鑰保存的文件中獲取(C:/Users/你的主機名字/.ssh/id_rsa.pub)
(4)將公鑰加入到github中箱熬,選擇setting->SSH KEY添加即可类垦。如下圖:
記住狈邑,這里的pub文件(公鑰)叫做id_rsa.pub
2. 配置gitlab 用戶名和郵箱
(1) 設(shè)置git的名字和郵箱,這點很重要蚤认,尤其是對于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/你的計算機名字/.ssh/hty.pub)
(4)將公鑰加入到gitlab中,如下圖:
這里取名為hty.pub。
3. 配置兩種不同的SSH key
(1)首先需要將密鑰添加到SSH agent中陪汽,因為默認(rèn)只讀取id_rsa训唱,為了讓SSH識別新的私鑰,需將其添加到SSH agent中:
ssh-add ~/.ssh/hty
(2)如果出現(xiàn)Could not open a connection to your authentication agent的錯誤挚冤,就試著用以下命令:
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項目域名
PreferredAuthentications publickey
IdentityFile ~/.ssh/hty
我的配置如圖:
4. 驗證是否正確
(1) 針對github,輸入指令:
ssh -T git@github.com
或者
(2) 針對gitlab, 輸入指令:
ssh -T git@gitlab
或者
以上結(jié)果澜薄,表示配置成功为肮。如果失敗,請仔細閱讀上述步驟肤京,或者給我留言颊艳,謝謝!
再獻上我的操作流程:
github配置過程:
gitlab配置過程: