本地配了多把密钥,登录某台服务器时直接报认证次数过多被断开,加参数指定密钥文件才能进。

排查方向其实有限,先把可能性排一排。客户端把本地所有密钥依次试了一遍,超过服务端上限。另一种情况是密钥代理里加载了太多身份。

另外,服务端限制的尝试次数偏小。

指定密钥文件登录

ssh -i ~/.ssh/id_rsa 用户@服务器IP

接着查看代理里加载的身份

ssh-add -l

然后清理不需要的身份

ssh-add -D

剩下的就是在客户端配置里固定密钥

grep -n IdentityFile ~/.ssh/config

这类改动我都写进变更记录,过两周再出问题时能对上号。

我习惯把每一步的执行时间和结果记在一边,后面复盘省事。

恢复的判定其实很直接。直接登录即可成功,不再出现认证次数超限的报错。

补一句。把 IdentityFile 和 IdentitiesOnly 一起写进客户端配置最稳,能避免每次都被动遍历全部密钥;密钥数量多时这个报错几乎必现。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189