pam服务(sshd)忽略最大重试次数

我有vps,我用它来运行一个networking服务器,它目前运行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 

有人可以告诉我这些错误是什么意思。 或者至less告诉我如何禁用这些错误。 当我在ssh上面工作的时候真的很烦人,而且这些错误一直在我的屏幕上popup。

    PAM告诉你它configuration了“retry = 3”,它会忽略来自同一个会话内sshd的任何进一步的authentication请求。 然而, SSH将继续尝试,直到耗尽MaxAuthTries设置(默认为6)。

    您应该将这两个(SSH和PAM)设置为相同的值,以获得最大的身份validation重试次数。

    更新

    要改变这种行为:

    对于sshd ,编辑/etc/ssh/sshd_config并设置MaxAuthTries 3 。 同时重启SSH服务器以使设置生效。

    对于PAM ,您必须在/etc/pam.d目录下查找configuration(我认为它是Ubuntu中的common-password文件),您必须更改retry= value。

    注意:我强烈build议也检查Peter Hommel关于这些请求的原因的答案,因为它可能是你的SSH被强制性的。

    虽然其他答案在消除错误信息方面是正确的,但请考虑这个错误信息可能只是另一个潜在问题的症状。

    你会得到这些消息,因为在你的系统上有很多通过ssh失败的login尝试。 可能有人试图蛮力进入你的盒子(当我在我的系统上得到相同的消息的情况下)。 阅读你的var/log/auth.log进行研究…

    如果是这样的话,你应该考虑安装一个类似'fail2ban'的工具(在Ubuntu上sudo apt-get install fail2ban )。 它自动读取您的系统的日志文件,search多个失败的login尝试,并通过iptables阻止恶意客户端的可configuration时间…

    看来上面的分析并不完全正确。 似乎没有一个pamauthentication的重试=选项(我find了一个用于pam_cracklib,但只涉及更改密码在“密码”部分,而不是身份validation在“身份validation”部分)。 相反,pam_unix包含内置最大重试次数3.在3次重试之后,pam返回PAM_MAXRETRIES错误代码来通知sshd。

    在这种情况下,sshd应该停止尝试,而不pipe它自己的MaxAuthTries。 它不,我认为这是一个错误(我刚刚用openssh报告 )。

    在修正该错误之前,似乎将MaxAuthTries设置为<= 3是防止此消息出现的唯一方法。

    ssh客户端可能会尝试使用一个或多个密钥进行身份validation。 任何未在authorized_keys中列出的密钥都将失败,从而使用sshd的重试之一。 客户端会尝试每个ssh密钥,直到一个成功或全部失败,所以sshd让你可以尝试几个。

    如果没有密钥匹配,sshd可能允许您尝试密码。 这些尝试中的每一个也都使用sshd允许的重试之一。 但是,它也消耗了PAM允许的重试次数之一。

    所以,6个sshauthentication尝试和3个authentication尝试的组合是一件好事:这意味着ssh将允许6个authentication尝试总(密钥或密码),但只有3个密码尝试。

    正如其他人所说,如果你经常在日志中看到这些信息,就会有人试图强行进入你的系统。 考虑使用fail2ban来完全阻止来自这些尝试来自的IP地址的数据包。

    从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 

    在我的情况下,问题是在Debian升级之后, rsyslog没有被安装。

    安装rsyslog后,这些错误从我的控制台上消失: apt-get install rsyslog

    当然,在控制台上看到这些通知可能会很烦人,但是当我在我的日志文件中看到,昨天我有987次失败的根login尝试来自中国的IP地址,或2670年来自加利福尼亚州的某个云服务,别人,我不担心。 用户root根本不允许在我的机器上login。 不pipe尝试多less次。

    如果他们开始尝试可以login的用户名,这将是一个不同的问题,但如果有一个好的密码,我也没有看到风险。 login密码(与encryption密钥不同)只能尝试如此之快。

    使用像fail2ban这样的东西似乎是不必要的复杂性,它不会购买任何东西(如果你有好的密码)和复杂性对安全性不利。 节stream尝试是sshd应该实现的东西,而不是应该需要一些附加的东西…和sshd 油门尝试。 好。

    -kb,肯特只使用好的密码,并且不会在不同的网站之间循环使用。