我有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,肯特只使用好的密码,并且不会在不同的网站之间循环使用。