
我正在努力設定 ssh-agent-forwarding。
我想要做什麼:我想將我的公鑰放在 ubuntu 伺服器上,並將私鑰放在我的 Windows 機器上。我想連接到 ubuntu 伺服器,而無需輸入我的私鑰密碼,因為它儲存在 pagent 中。這部分工作完美無缺。下一部分是不起作用的部分。
連接到 ubuntu-server 後,我想透過 git/ssh 進入其他伺服器,只需使用 pagent 中我的 Windows 機器上的金鑰。
到目前為止我所做的:我有一個安裝了 pagent 的 Windows 用戶端。密鑰是在windows機器上設定的。我可以連接到 ubuntu 伺服器並透過我設定的私鑰進行授權。我還在膩子中啟動了「允許代理轉發」。
這就是我的 ssh_config 的樣子:
Host *
ForwardAgent yes
問題是什麼:當連接到伺服器並輸入“ssh-add -l”時,伺服器告訴我:“代理沒有身份。”
我忘了什麼?
答案1
首先,檢查伺服器是否允許代理轉發(AllowAgentForwarding
in sshd_config
),如果不允許,則允許並重新啟動 sshd 服務。然後仔細檢查它是否確實在 PuTTY 中啟用。如果兩者都很好,請檢查膩子的調試日誌。如果轉發失敗,一定有一些資訊說明原因。
答案2
我找到我的問題了。
我有
eval $(ssh-agent)
在我的 .bashrc 中。
刪除該行後,轉送開始工作。