Ssh
通過 PuTTy 對 git 伺服器進行身份驗證
嘿,我正在通過 PuTTy 連接到遠端伺服器。在這台伺服器上,我還處理了一些程式碼,我想將其推送到需要 ssh-rsa 身份驗證的 git 儲存庫。
所以推的時候
git push 起源大師
伺服器要求輸入密碼。但是,我已經用選美載入了我的私鑰,所以 PuTTy 實際上應該知道我的私鑰,而不是要求輸入密碼,而是直接接受推送。
我的主要問題 是:如果您想通過 PuTTy 將 git-push 推送到需要身份驗證(使用者具有有效私鑰的使用者)的遠端伺服器,標準程序如何?
將我的密鑰上傳到伺服器當然不是一個好的選擇。
您需要在 PuTTy 中啟用代理轉發。在 Putty 配置中,導航到 Connection -> SSH -> Auth 並選中“Allow Agent dorwarding”
編輯:在 PuTTy 中啟用代理轉發和 SSH 到具有您的公鑰的系統後,您將能夠從該系統 ssh 到也具有您的公鑰的第二個系統。你不需要做任何特別的事情來完成這項工作。當您連接到第二個系統時,您不需要啟用代理轉發(在*~/.ssh/config中使用**-A或ForwardAgent Yes*)。僅當您要從正在登錄的系統進行另一跳時,您才需要啟用代理轉發。
當您從電腦連接到伺服器時,您將進行另一跳(使用 git),因此您必須啟用代理轉發。當 git 通過 ssh 連接到另一台伺服器時,它不會再進行一跳,因此您不需要啟用代理轉發。
如果您想了解代理轉發的工作原理,請查看出色的 SSH 代理轉發圖解指南。