本地配了多把密钥,登录某台服务器时直接报认证次数过多被断开,加参数指定密钥文件才能进。
排查方向其实有限,先把可能性排一排。客户端把本地所有密钥依次试了一遍,超过服务端上限。另一种情况是密钥代理里加载了太多身份。
另外,服务端限制的尝试次数偏小。
指定密钥文件登录
ssh -i ~/.ssh/id_rsa 用户@服务器IP
接着查看代理里加载的身份
ssh-add -l
然后清理不需要的身份
ssh-add -D
剩下的就是在客户端配置里固定密钥
grep -n IdentityFile ~/.ssh/config
这类改动我都写进变更记录,过两周再出问题时能对上号。
我习惯把每一步的执行时间和结果记在一边,后面复盘省事。
恢复的判定其实很直接。直接登录即可成功,不再出现认证次数超限的报错。
补一句。把 IdentityFile 和 IdentitiesOnly 一起写进客户端配置最稳,能避免每次都被动遍历全部密钥;密钥数量多时这个报错几乎必现。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。