GIT同時連接gitlab和github

 

 

很多時候,我們需要同時使用多個git來進行項目管理,比如說公司使用gitlab,而我們自己使用github,此時我們需要在一臺電腦上同時管理自己的github上的項目和公司內部的gitlab上的項目,我們就需要配置多個祕鑰。

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

公網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配置文件,內容如下:

# 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
它涵蓋了下面一個段的配置,我們可以通過他來替代將要連接的服務器地址。
這裏可以使用任意字段或通配符。
當ssh的時候如果服務器地址能匹配上這裏Host指定的值,則Host下面指定的HostName將被作爲最終的服務器地址使用,並且將使用該Host字段下面配置的所有自定義配置來覆蓋默認的/etc/ssh/ssh_config配置信息。

Port
自定義的端口。默認爲22,可不配置

User
自定義的用戶名,默認爲git,可不配置

HostName
真正連接的服務器地址

PreferredAuthentications
指定優先使用哪種方式驗證,支持密碼和祕鑰驗證方式

IdentityFile
指定本次連接使用的密鑰文件

使用時,我們只需要指定Host、HostName、IdentityFile即可

HostName的值爲下圖紅色標記的路徑

3、將公鑰添加到gitlab服務器和github服務器

登錄GitLab或GitHub,選擇Settings

找到SSH Keys

進入生成的ssh目錄 : C:\Documents and Settings\Administrator.ssh (或者 C:\Users\自己電腦用戶名.ssh)中, 使用記事本打開 id_rsa.pub 文件, 將該文件中的內容複製;
id_rsa.pub 文件內容 :

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxNoCW8lz3OcT7N+bmgrec5M2WDJMs77aGSYmkydYFWML5GE41nU2hwLdIqkZKpDYBOQ74Gw7oQiKOwGTcByRSkasHVNgt6EaLPCdaadFUW4UB3+XF/DzQkId4miOVNfRu1plbygxE0Uu0qLCn8azDlOmCUwGsaJI0s7lUYYOUoSugR2WBnwacDbTyR5F9wUzCLfoGQdfEIwtI4DXYCOeOX+qRfE07OucExOIWX9HwqxLfdeh1Dvf3CKH1jT02n+713WLwtI2G4chF5y0WYKF0tqR8z9AihBRqyxIdKQtY7DvuYhZohCBWx5T3HosrBuvsag+0E2TcaaZd0Lkoj3ET [email protected]

4、測試是否配置成功

測試gitlab

ssh -T git@config配置中HostName的名稱

 

測試github

ssh -T git@config配置中HostName的名稱

參考鏈接:https://www.jianshu.com/p/88005b56fb4d 

GIT使用參考文檔:
Git 基本操作
Pro Git(中文版)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章