如何在一臺設備上同時配置github和gitlab的SSH

背景

在工作中,很有可能遇到這樣的情況:公司用gitlab搭建了一個倉庫,自己平常使用github來存儲自己的代碼。這樣就造成在只設置了公司的gitlab SSH的時候,clone自己github倉庫代碼時,只能使用HTTPS的方式clone,很不方便。所以這篇文章會教會你同時在一臺電腦上配置兩個SSH,以方便自己在工作和個人空間上的快速切換,提高效率。

正文

首先,要找到位於用戶下的.ssh文件,直接:

cd ~/.ssh

然後, 需要設置全局的name和email(這裏注意,哪個常用設置哪個,我是公司常用,就設置的公司的)

git config --global user.name 'xxx'
git config --global user.email '[email protected]'

接下來, 開始生成祕鑰文件. 這裏直接兩個都生成一下

ssh-keygen -t rsa -C '[email protected]' // GitLab
// Enter file in which to save the key (/Users/tomatoro/.ssh/id_rsa): id_rsa_gitlab

ssh-keygen -t rsa -C '[email protected]' // GitHub
// Enter file in which to save the key (/Users/tomatoro/.ssh/id_rsa): id_rsa_github

進入到.ssh文件下,找到id_rsa_gitlab.pub和id_rsa_github.pub 將裏面的內容全部複製粘貼到github 和 gitlab 的SSHKEY上

clipboard.png

clipboard.png

這裏名字隨便起, 然後記得.pub文件裏內容全部複製就好了. 完了之後點保存. gitlab同理.

接下來就要將兩個key在本地存儲起來
打開agent

ssh-agent -s
ssh-add ~/.ssh/id_rsa_github // 輸入生成祕鑰時設置的密碼
ssh-add ~/.ssh/id_rsa_gitlab // 輸入生成祕鑰時設置的密碼

然後需要一個config文件來管理這兩個key,以讓git知道分配給誰
在.ssh目錄下創建config文件

touch ~/.ssh/config

打開config編輯如下內容

Host github.com // 不動
    HostName ssh.github.com // 不動
    User [email protected] // 你自己的github郵箱
    PreferredAuthentications publickey // 不動
    IdentityFile ~/.ssh/id_rsa_github // 不動
    Port 443 
    // 如果ssh -T [email protected]的時候報 ssh: connect to host github.com port 22: Operation timed out就把Port這條加上吧,這個坑坑了我好久!!

Host 192.168.0.231 // 你們公司gitlab的ip地址
    HostName 192.168.0.231 //與Host保持一致
    User [email protected] // 你gitlab的郵箱
    IdentityFile ~/.ssh/id_rsa_gitlab // 不動
    Port 64222 // 你們公司gitlab的ip端口

好了,到了這一步,設置就基本全部完成了,接下來只需要跟遠端的SSH同步一下就OK了

公司倉庫下
ssh -T [email protected]
輸入密碼
git clone ssh://[email protected]:64222/MLE/skillCenter.git
個人倉庫下
git init // --local需要在有git倉庫的情況下纔可以執行
git config —local user.name 'tomatoro'
git config —local user.email '[email protected]'
ssh -T [email protected]
輸入密碼
git clone ssh://[email protected]:443/Tomatoro/TypeScript-study.git

至此,就全部結束了. 想想我在搞這個東西的時候遇到的坑,現在都覺得好惡心. 整整弄了一下午, 希望對後來者有些許幫助吧.
全部原創,歡迎轉載!轉載請註明出處.謝謝!

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