多個github帳號的SSH key切換

2021-06-22 03:12:36 字數 1115 閱讀 7376

1. 首先cd到~/.ssh 使用 ssh-keygen -t -rsa -c 『[email protected]』 生成新的ssh key:id_rsa_second

ssh-keygen -t rsa -c '[email protected]'

2. 預設ssh只會讀取id_rsa,所以為了讓ssh識別新的私鑰,需要將其新增到ssh agent 

ssh-add ~/.ssh/id_rsa_second 

該命令如果報錯:could not open a connection to your authentication agent.無法連線到ssh agent,可執行ssh-agent bash命令後再執行ssh-add命令。

3. 完成以上步驟後在~/.ssh目錄建立config檔案,該檔案用於配置私鑰對應的伺服器。內容如下

# default github user([email protected])

host github.com

hostname ssh.github.com

port 443

user git

identityfile /home/username/.ssh/id_rsa

# second user([email protected])

host github-second

hostname ssh.github.com

port 443

user git

identityfile /home/.ssh/id_rsa_second

4. 配置完成後,在連線非預設帳號的github倉庫時,遠端庫的位址要對應地做一些修改,比如現在新增second帳號下的乙個倉庫test,則需要這樣新增:

git remote add test git@github-second:second/test.git #並非原來的[email protected]:second/test.git

這樣每次連線都會使用id_rsa_second與伺服器進行連線。至此,大功告成!

注意: github根據配置檔案的user.email來獲取github帳號顯示author資訊,所以對於多帳號使用者一定要記得將user.email改為相應的email([email protected])

參考:   

如何在本機配置多個github的sshkey

當我們想要在一台機器上開發多個不同的github專案時,我們就需要配置多個不同的公鑰。github站點限制了乙個ssh公鑰只能在乙個倉庫用一次,不然就會提示key is already in use。當我們在本機使用多個ssh公鑰時,又該如何管理呢?本文以我的乙個專案在ubuntu18.04上的操作...

多個github帳號的SSH key切換

github使用ssh與客戶端連線。如果是單使用者 first 生成金鑰對後,將公鑰儲存至github,每次連線時ssh客戶端傳送本地私鑰 預設 ssh id rsa 到服務端驗證。單使用者情況下,連線的伺服器上儲存的公鑰和傳送的私鑰自然是配對的。但是如果是多使用者 first,second 我們在...

github gitlab 管理多個ssh key

以前只使用乙個 ssh key 在github上提交 由於工作原因,需要再新增乙個ssh key在公司的 gitlab上提交 下面記錄下配置過程,防止遺忘。說明下我的環境是 win7 msysgit gitbash,相信 nux bash 也是同樣的道理。第一次使用ssh生成key,缺省會在使用者 ...