gerrit 更換 key 問題

github使用SSH與客戶端連接。如果是單用戶(first),生成密鑰對後,將公鑰保存至github,每次連接時SSH客戶端發送本地私鑰(默認~/.ssh/id_rsa)到服務端驗證。單用戶情況下,連接的服務器上保存的公鑰和發送的私鑰自然是配對的。但是如果是多用戶(first,second),我們在連接到second的帳號時,second保存的是自己的公鑰,但是SSH客戶端依然發送默認私鑰,即first的私鑰,那麼這個驗證自然無法通過。不過,要實現多帳號下的SSH key切換在客戶端做一些配置即可。

首先cd到~/.ssh 使用 ssh-keygen -t -rsa -C ‘[email protected]’ 生成新的SSH key:id_rsa_second,生成完後將新的SSH public key添加到github。

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

默認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命令。

完成以上步驟後在~/.ssh目錄創建config文件,該文件用於配置私鑰對應的服務器。內容如下:

# Default github user([email protected])
Host github.com
 HostName github.com
 User git
 IdentityFile C:/Users/username/.ssh/id_rsa

# second user([email protected])
Host github-second
 HostName github.com
 User git
 IdentityFile C:/Users/username/.ssh/id_rsa_second
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章