描述:当sshd服务器端设置了MaxAuthTries的值时,在输入次数达到时,会拒绝再次尝试,但在有ssh证书的情况下,ssh客户端会默认先使用已有的ssh公钥进行认证,这个失败次数一样会影响到MaxAuthTries这个值,例如在sshd服务器端设置MaxAuthTries值为3,而ssh客户端有2个ssh公钥,在这个时候在进行ssh连接时只要输入错误一次密码就会出现"Too many authentication failures"错误提示
解决:
1、直接修改sshd的MaxAuthTries更大
直接修改服务器端的/etc/ssh/sshd_config中的MaxAuthTries的值更大,但这会给系统带来安全的问题,况且有的服务器本身也是客户端不能够直接控制的;
推荐:
1.开启账户名和密码连接
echo "AccountAuthentication yes" >> /etc/ssh/sshd_config
echo "StrictKeyChecking yes" >> /etc/ssh/sshd_config
2.挂载盘,重新配置一下密钥

#先把新卷挂载到实例 mount cd .ssh vim auth.._key #删除掉除密钥之外的内容 cd /mnt/etc/ssh/ vim sshd_config #将以下两个值改成 PasswordAuthentication yes PermitRootLogin yes cd #回到根目录 chroot/mnt passwd 输入密码 |
密钥管理原则
\~/.ssh目录冗余。ssh-agent管理密钥链,避免自动尝试所有密钥。安全与便利的平衡
兼容性验证
NumberOfPasswordPrompts参数(默认3次),可能覆盖服务端设置。| # | 判定描述 | 自我判定(是/否) |
|---|---|---|
| 1 | 在各搜索引擎中是否能找到知识信息(包括但不限于Google、百度、Bing) | 是 |
| 2 | 是否需要代码集成开发 | 否 |