github是網路公有**倉庫,一般用於私人**託管,而gitlab一般是企業搭建的內部**倉庫。工作期間,我們都會同時用到這兩個倉庫。可公司郵箱與個人郵箱是不同的,由此產生的 ssh key 也是不同的,這就造成了衝突 。如何在一台機器上面同時使用 github 與 gitlab 的服務?
公司的gitlab生成乙個ssh-key
# 在~/.ssh/目錄會生成gitlab_id-rsa和gitlab_id-rsa.pub私鑰和公鑰。我們將gitlab_id-rsa.pub中的內容粘帖到公司gitlab伺服器的ssh-key的配置中。$ ssh-keygen -t rsa -c "
註冊的gitlab郵箱
" -f ~/.ssh/gitlab_id-rsa
公網github生成乙個ssh-key
# 在~/.ssh/目錄會生成github_id-rsa和github_id-rsa.pub私鑰和公鑰。我們將github_id-rsa.pub中的內容粘帖到github伺服器的ssh-key的配置中。$ ssh-keygen -t rsa -c "註冊的github郵箱" -f ~/.ssh/github_id-rsa
在~/.ssh
下新增config配置檔案,內容如下:
#github key
host github
port 22user git
hostname github.com
preferredauthentications publickey
identityfile ~/.ssh/github_id-rsa
host gitlabport 22user 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
指定本次連線使用的金鑰檔案
假設gitlab與jgithub的工作目錄分別如下所示:
github工作倉庫:~/workspace/githubgitlab工作倉庫:~/workspace/gitlab
則配置如下:
#gitlab
cd ~/workspace/gitlab
git init
git config --global user.name '
gitlab
'git config --global user.email '
github
cd ~/workspace/github
git init
git config --local user.name '
personal
'git config --local user.email '
'
#測試github
$ ssh -t [email protected] #
測試gitlab
$ ssh -t [email protected]
同時使用GitHub和GitLab
由於公司團隊使用 gitlab 來託管 同時,個人在 github 上還有一些 倉庫,可公司郵箱與個人郵箱是不同的,由此產生的 ssh key 也是不同的,這就造成了衝突 如何在一台機器上面同時使用 github 與 gitlab 的服務?問題產生場景 無密碼與遠端伺服器互動的秘密 ssh 如果採用...
github和gitlab同時使用
由於公司團隊使用 gitlab 來託管 同時,個人在 github 上還有一些 倉庫,可公司郵箱與個人郵箱是不同的,由此產生的 ssh key 也是不同的,這就造成了衝突 如何在一台機器上面同時使用 github 與 gitlab 的服務?如果採用ssh協議或者git 協議通過終端命令對遠端倉庫進行...
同時使用 GitHub 和 GitLab
先說一下寫這篇部落格的緣由,之前自己開發專案的時候都是用 github 來託管 但是實習之後由於公司專案隱私問題,給分配了 gitlab 的使用者名稱和郵箱,當時我就直接在電腦上把使用者名稱和密碼進行了全域性配置,自那以後我在實習之餘做自己的專案時,每次往 github 上提交 都沒有我的 cont...