Macos同時配置github與公司內部使用的gitlab


一個很簡單的問題,讓我整整搞了好幾個小時,總是在細節上面犯迷糊,所以,決定把這個記錄下來。

第一步

重新生成GitHub和gitlab對應的公/密鑰

ssh-keygen -t rsa -C “你的gitlab郵箱” -f ~/.ssh/id_rsa_gitlab
ssh-keygen -t rsa -C “注冊 github 賬戶的郵箱”

 其實,如果之前已經有GitHub對應的公/密鑰,就不用重新生成了(沒試過,我這邊是重新生成的)

然后,進入 ~/.ssh目錄里面應該可以看到4個文件,這四個文件分別對應gitlab和github的公私鑰,分別將gitlab和github的公鑰配置到github和你公司的gitlab的ssh上。

第二步

把專用密鑰添加到ssh-agent的高速緩存中

ssh-agent bash
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_gitlab

語法:

ssh-add [-cDdLlXx] [-t life] [file...]ssh-add -s pkcs11ssh-add -e pkcs11

選項

-D:刪除ssh-agent中的所有密鑰.

-d:從ssh-agent中的刪除密鑰

-e pkcs11:刪除PKCS#11共享庫pkcs1提供的鑰匙。

-s pkcs11:添加PKCS#11共享庫pkcs1提供的鑰匙。

-L:顯示ssh-agent中的公鑰

-l:顯示ssh-agent中的密鑰

-t life:對加載的密鑰設置超時時間,超時ssh-agent將自動卸載密鑰

-X:對ssh-agent進行解鎖

-x:對ssh-agent進行加鎖

  

第三步

在.ssh目錄下創建一個config文件,寫入以下內容

# default
Host github.com
HostName github.com
User github用戶名
IdentityFile ~/.ssh/id_rsa
Host 你公司的代碼倉庫地址,可以是局域網地址
HostName gitlab.com
User gitlab用戶名
#port 20
IdentityFile ~/.ssh/id_rsa_gitlab

第四步

測試:

#測試GitHub是否鏈接成功
ssh -T git@github.com
Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
#表示鏈接成功
#測試gitlab是否鏈接成功
ssh -T git@gitlab.com
Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
#表示鏈接成功

注意:重點來了,我在這兒停了好幾個小時,這里的 ssh-T git@gitlab.com只是個測試的命令樣例,具體的 git@gitlab.com應該換成你們公司的gitlab地址, 重要的事情說三遍!!!

具體的 git@gitlab.com應該換成你們公司的gitlab地址,

具體的 git@gitlab.com應該換成你們公司的gitlab地址,

具體的 git@gitlab.com應該換成你們公司的gitlab地址,

如果出現錯誤,可以使用 ssh-v git@gitlab.com調試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM