Ssh

通過 PuTTy 對 git 伺服器進行身份驗證

  • May 13, 2011

嘿,我正在通過 PuTTy 連接到遠端伺服器。在這台伺服器上,我還處理了一些程式碼,我想將其推送到需要 ssh-rsa 身份驗證的 git 儲存庫。

所以推的時候

git push 起源大師

伺服器要求輸入密碼。但是,我已經用選美載入了我的私鑰,所以 PuTTy 實際上應該知道我的私鑰,而不是要求輸入密碼,而是直接接受推送。

我的主要問題 是:如果您想通過 PuTTy 將 git-push 推送到需要身份驗證(使用者具有有效私鑰的使用者)的遠端伺服器,標準程序如何?

將我的密鑰上傳到伺服器當然不是一個好的選擇。

您需要在 PuTTy 中啟用代理轉發。在 Putty 配置中,導航到 Connection -> SSH -> Auth 並選中“Allow Agent dorwarding”

編輯:在 PuTTy 中啟用代理轉發和 SSH 到具有您的公鑰的系統後,您將能夠從該系統 ssh 到也具有您的公鑰的第二個系統。你不需要做任何特別的事情來完成這項工作。當您連接到第二個系統時,您不需要啟用代理轉發(在*~/.ssh/config中使用**-AForwardAgent Yes*)。僅當您要從正在登錄的系統進行另一跳時,您才需要啟用代理轉發。

當您從電腦連接到伺服器時,您將進行另一跳(使用 git),因此您必須啟用代理轉發。當 git 通過 ssh 連接到另一台伺服器時,它不會再進行一跳,因此您不需要啟用代理轉發。

如果您想了解代理轉發的工作原理,請查看出色的 SSH 代理轉發圖解指南

引用自:https://serverfault.com/questions/269439