很多時候膏潮,我們需要同時使用多個git來進(jìn)行項(xiàng)目管理,比如說公司使用gitlab,而我們自己使用github嫡纠,此時我們需要在一臺電腦上同時管理自己的github上的項(xiàng)目和公司內(nèi)部的gitlab上的項(xiàng)目懒叛,我們就需要配置多個秘鑰丸冕。
GIT使用參考文檔:
Git 基本操作
Pro Git(中文版)
1、生成秘鑰
公司的Gitlab生成一個SSH-Key
# 在~/.ssh/目錄會生成id-rsa_lab和id-rsa_lab.pub私鑰和公鑰薛窥。
$ ssh-keygen -t rsa -C "注冊的gitlab郵箱" -f ~/.ssh/id_rsa_lab
公網(wǎng)Github生成一個SSH-Key
# 在~/.ssh/目錄會生成id_rsa_hub和id_rsa_hub.pub私鑰和公鑰胖烛。
$ ssh-keygen -t rsa -C "注冊的github郵箱" -f ~/.ssh/id_rsa_hub
2、添加config
在~/.ssh下添加config配置文件,內(nèi)容如下:
# github key
Host github
Port 22
User git
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id-rsa
Host gitlab
Port 22
User git
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id-rsa
Host
它涵蓋了下面一個段的配置诅迷,我們可以通過他來替代將要連接的服務(wù)器地址佩番。
這里可以使用任意字段或通配符。
當(dāng)ssh的時候如果服務(wù)器地址能匹配上這里Host指定的值罢杉,則Host下面指定的HostName將被作為最終的服務(wù)器地址使用趟畏,并且將使用該Host字段下面配置的所有自定義配置來覆蓋默認(rèn)的/etc/ssh/ssh_config
配置信息。
Port
自定義的端口滩租。默認(rèn)為22赋秀,可不配置
User
自定義的用戶名,默認(rèn)為git律想,可不配置
HostName
真正連接的服務(wù)器地址
PreferredAuthentications
指定優(yōu)先使用哪種方式驗(yàn)證猎莲,支持密碼和秘鑰驗(yàn)證方式
IdentityFile
指定本次連接使用的密鑰文件
使用時,我們只需要指定Host技即、HostName著洼、IdentityFile即可
HostName的值為下圖紅色標(biāo)記的路徑
3、將公鑰添加到gitlab服務(wù)器和github服務(wù)器
登錄GitLab或GitHub,選擇Settings
找到SSH Keys
進(jìn)入生成的ssh目錄 : C:\Documents and Settings\Administrator.ssh (或者 C:\Users\自己電腦用戶名.ssh)中, 使用記事本打開 id_rsa.pub 文件, 將該文件中的內(nèi)容復(fù)制;
id_rsa.pub 文件內(nèi)容 :
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxNoCW8lz3OcT7N+bmgrec5M2WDJMs77aGSYmkydYFWML5GE41nU2hwLdIqkZKpDYBOQ74Gw7oQiKOwGTcByRSkasHVNgt6EaLPCdaadFUW4UB3+XF/DzQkId4miOVNfRu1plbygxE0Uu0qLCn8azDlOmCUwGsaJI0s7lUYYOUoSugR2WBnwacDbTyR5F9wUzCLfoGQdfEIwtI4DXYCOeOX+qRfE07OucExOIWX9HwqxLfdeh1Dvf3CKH1jT02n+713WLwtI2G4chF5y0WYKF0tqR8z9AihBRqyxIdKQtY7DvuYhZohCBWx5T3HosrBuvsag+0E2TcaaZd0Lkoj3ET youEmail@qq.com
4身笤、測試是否配置成功
測試gitlab
ssh -T git@config配置中HostName的名稱
測試github
ssh -T git@config配置中HostName的名稱
GIT使用參考文檔:
Git 基本操作
Pro Git(中文版)
上一篇:【工具安裝和配置】 GIT配置