題 如何清除ssh-agent條目(在Mac OS X上)?


我正在運行Mac OS X,看來在通過SSH連接到多台機器後,使用身份文件,我的 '的ssh-agent' 建立了很多身份/密鑰,然後有時為遠程機器提供太多,導致他們在連接之前啟動我:

從10.12.10.16收到斷開連接:2:cwd的身份驗證失敗太多

很明顯發生了什麼,並且 這一頁 更詳細地討論它:

SSH服務器只允許您嘗試   驗證一定數量的   倍。每次失敗的密碼嘗試,   每個失敗的pubkey / identity都是   提供等,佔用其中一個   嘗試。如果你有很多SSH   您可以找到代理商中的密鑰   SSH服務器可能會在之前將您解僱   允許您嘗試密碼   身份驗證。如果這是   案例中,有一些不同   解決方法。

重新啟動會清除代理,然後一切正常。我也可以將這一行添加到我的 .ssh/config 文件強制它使用密碼驗證:

PreferredAuthentications keyboard-interactive,password

無論如何,我在頁面上看到了我引用的關於從代理中刪除密鑰的說明,但我不確定這是否適用於Mac,因為無論如何它們似乎都會在重新啟動後被清除。

有沒有一種簡單的方法來清除'ssh-agent'中的所有鍵(重啟時發生的同樣的事情)?


48
2018-04-16 14:54


起源




答案:


你的SSH密鑰應該  因為您使用SSH連接到服務器而自動添加到代理程序...

ssh-add -l 列出代理的密鑰, ssh-add -D 清除所有鑰匙。


81
2018-04-16 16:12



也許它與OSX的配置有關?如果我輸入 ssh-add -l 我一無所獲。如果我輸入 ssh -i ~/keyFileLocation.dsa un@remotehost 我得到一個OS X彈出對話框,要求輸入密碼。我輸入它然後它連接我。如果我斷開然後鍵入 ssh-add -l 它向我展示了我剛才使用的身份。我重新啟動計算機並輸入後 ssh-add -l 它再次空白。 ssh-add -D 努力工作以清除鑰匙而不重新啟動。謝謝! - cwd
四年後,這仍然是一個問題,但這個修復仍然有效 - 謝謝 - jnunn
嘿,你可以指導我嗎? superuser.com/questions/951002/... - Niks
錯(2017年):見 AddKeysToAgent 配置選項,專門用於將SSH密鑰添加到代理程序,僅因為您已連接到服務器。 - Radon Rosborough


另外一種限制鍵是什麼的方法是添加 IdentitiesOnly yes 和 IdentityFile ~/.ssh/<nameofkey> 到你的 /.ssh/config 文件。


0
2018-05-28 21:46