![pam 服务(sshd)忽略最大重试次数](https://linux22.com/image/630891/pam%20%E6%9C%8D%E5%8A%A1%EF%BC%88sshd%EF%BC%89%E5%BF%BD%E7%95%A5%E6%9C%80%E5%A4%A7%E9%87%8D%E8%AF%95%E6%AC%A1%E6%95%B0.png)
我有用于运行 Web 服务器的 VPS,它目前运行的是 ubuntu 服务器 12.04。几个星期以来,我的 ssh 控制台中不断出现大量错误。
2014 Apr 11 08:41:18 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:21 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:24 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:25 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:26 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3
2014 Apr 11 08:41:29 vps847 PAM service(sshd) ignoring max retries; 6 > 3
有人能告诉我这些错误是什么意思吗?或者至少告诉我如何禁用这些错误。当我通过 ssh 工作时,这些错误不断出现在我的屏幕上,这真的很烦人。
答案1
PAM
告诉您它配置了“retry=3”,它将忽略同一会话中来自 sshd 的任何进一步的身份验证请求。SSH
但是将继续尝试,直到用尽 MaxAuthTries 设置(默认为 6)。
您可能应该将这两者(SSH 和 PAM)设置为相同的值,以实现最大身份验证重试次数。
更新
要改变此行为:
供sshd
您编辑/etc/ssh/sshd_config
和设置MaxAuthTries 3
。还需重新启动 SSH 服务器以使设置生效。
对于PAM
,您必须在目录中查找配置/etc/pam.d
(我认为它是common-password
Ubuntu 中的文件),您必须更改retry=
值。
笔记:我强烈建议您检查 Peter Hommel 关于这些请求的原因的回答,因为您的 SSH 可能正在遭受暴力破解。
答案2
虽然其他答案可以正确消除您收到的错误消息,但请考虑该错误消息可能只是另一个潜在问题的症状。
您收到这些消息是因为您的系统上有许多通过 ssh 登录失败的尝试。可能有人试图强行进入您的系统(我在我的系统上收到相同的消息时就是这种情况)。阅读您的var/log/auth.log
研究...
如果是这种情况,您应该考虑安装类似“fail2ban”的工具(sudo apt-get install fail2ban
在 Ubuntu 上)。它会自动读取系统的日志文件,搜索多次失败的登录尝试,并通过 iptables 在可配置的时间内阻止恶意客户端……
答案3
上面的分析似乎并不完全正确。pam 身份验证似乎没有 retry= 选项(我确实找到了 pam_cracklib 的一个选项,但它只涉及在“password”部分中更改密码,而不是 pam 的“auth”部分中的身份验证)。相反,pam_unix 包含内置的最大重试次数 3。重试 3 次后,pam 将返回 PAM_MAXRETRIES 错误代码以通知 sshd。
在这种情况下,sshd 应该停止尝试,无论其自己的 MaxAuthTries 是多少。它没有这样做,我认为这是一个错误(我刚刚用 openssh 报告)。
在该错误修复之前,将 MaxAuthTries 设置为 <= 3 似乎是阻止该消息出现的唯一方法。
答案4
从 Debian 6 升级到 Debian 7 后,我遇到了同样的问题。突然,这些 sshd 错误出现在我的控制台中。
2014 Oct 15 13:50:12 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:17 vps456 PAM service(sshd) ignoring max retries; 6 > 3
2014 Oct 15 13:50:18 vps456 PAM service(sshd) ignoring max retries; 6 > 3
就我而言,问题是rsyslog
Debian 升级后该程序不再安装。
安装 rsyslog 后,这些错误从我的控制台中消失了:apt-get install rsyslog