cwd*_*cwd 76 linux ssh unix ssh-agent macos
我正在运行 Mac OS X,似乎在通过 SSH 连接到多台机器后,使用身份文件,我的“ssh-agent”建立了很多身份/密钥,然后有时向远程机器提供太多,导致他们在连接之前踢我:
从 10.12.10.16 收到断开连接:2:cwd 的身份验证失败太多
很明显发生了什么,这个页面更详细地讨论了它:
SSH 服务器只允许您尝试进行一定次数的身份验证。每个失败的密码尝试、每个失败的公钥/身份提供等,都会占用这些尝试之一。如果您的代理中有很多 SSH 密钥,您可能会发现 SSH 服务器可能会在允许您尝试密码身份验证之前将您踢出去。如果是这种情况,有几种不同的解决方法。
重新启动会清除代理,然后一切正常。我还可以将此行添加到我的.ssh/config文件中以强制它使用密码身份验证:
PreferredAuthentications keyboard-interactive,password
Run Code Online (Sandbox Code Playgroud)
无论如何,我在我引用的页面上看到了关于从代理中删除密钥的说明,但我不确定这是否适用于 Mac,因为它们似乎在重新启动后被清除。
是否有一种简单的方法可以清除“ssh-agent”中的所有密钥(与重新启动时发生的情况相同)?
use*_*686 125
你的SSH密钥应该不会得到自动添加到代理的,只是因为你SSH'ed到服务器...
运行ssh-add -l以列出代理的密钥,ssh-add -D以清除所有密钥。