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


32

我有用来在其上运行网络服务器的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上工作时,确实很烦,并且这些错误不断在我的屏幕上弹出。

Answers:


40

PAM告诉您已将其配置为“ retry = 3”,它将忽略同一会话中来自sshd的任何其他身份验证请求。SSH但是将继续尝试,直到用尽MaxAuthTries设置(默认为6)。

您可能应该将两者(SSH和PAM)都设置为相同的值,以进行最大的身份验证重试。

更新

更改此行为:

sshd您编辑/etc/ssh/sshd_config和设置MaxAuthTries 3。同时重新启动SSH服务器以使设置生效。

对于PAM,您必须在/etc/pam.d目录中查找配置(我认为它是common-passwordUbuntu中的文件),您必须更改retry=值。

注意:我强烈建议也检查Peter Hommel关于这些请求原因的答案,因为您的SSH可能被强行使用。


谢谢,通过MaxAuthTries 3在ssh配置中添加,然后重新启动服务器,解决了该问题。
Jerodev

41

尽管其他答案在消除您收到的错误消息时是正确的,但请考虑此错误消息可能只是另一个潜在问题的症状。

之所以收到这些消息,是因为系统上有很多通过ssh的失败登录尝试。可能有人试图强行进入您的机器(例如,当我在系统上收到相同的消息时)。阅读您var/log/auth.log的研究内容...

如果是这种情况,您应该考虑安装“ fail2ban”之类的工具(sudo apt-get install fail2ban在Ubuntu上)。它会自动读取系统的日志文件,搜索多次失败的登录尝试,并通过iptables在可配置的时间内阻止恶意客户端...


4
这是一个非常不错的评论,我在注释中更新了我的答案,也让所有可能遇到此问题的人也可以阅读您的答案。
2014年

5

看来以上分析并不完全正确。似乎没有用于pam身份验证的retry =选项(我确实找到了一个用于pam_cracklib的选项,但这仅涉及更改pam的“密码”部分中的密码,而不涉及更改pam的“ auth”部分中的身份验证)。相反,pam_unix包含一个内置的最大重试次数为3。重试3次后,pam返回PAM_MAXRETRIES错误代码以将此情况通知sshd。

不管它自己的MaxAuthTries如何,sshd在这种情况下都应该真正停止尝试。事实并非如此,我认为这是一个错误(我刚刚在openssh中报告了该错误)。

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


错误似乎固定版本7.3p1
丹尼斯·诺尔特

3

ssh客户端可能尝试使用一个或多个密钥进行身份验证。任何未在authorized_keys中列出的密钥都会失败,这将消耗sshd的重试之一。客户端将尝试拥有的每一个ssh密钥,直到一个成功或全部失败,因此sshd允许您尝试多个密钥是很好的。

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

因此,将6个ssh身份验证尝试和3个pam身份验证尝试结合起来是一件好事:这意味着ssh将允许总共进行6个身份验证尝试(键或密码),但仅允许3个密码尝试。

正如其他人所说,如果您经常在日志中看到这些内容,则表示有人试图强行闯入您的系统。考虑使用fail2ban完全阻止来自这些尝试源自的IP地址的数据包。


1

从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

就我而言,问题是rsyslogDebian升级后不再安装了。

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


3
这只会使它们出现在另一个位置而不是控制台。我的答案解决了升级后由于SSH / PAM配置错误导致的错误原因。
2014年

-1

当然在控制台上收到这些通知可能很烦人,但是当我昨天在日志文件中看到,我有987次失败的root登录尝试来自中国的IP地址,或者2670次来自加利福尼亚的某些云服务,或者...很多其他人,我不用担心。root用户根本无法在我的计算机上登录。无论尝试多少。

如果他们开始尝试可以登录的用户名,那将是另一回事,但是如果密码正确,那我也看不到任何风险。登录密码(与加密密钥不同)只能如此快速地尝试。

使用诸如fail2ban之类的东西似乎是不必要的复杂性,它不会买任何东西(如果您拥有好的密码),并且复杂性不利于安全性。节流尝试是sshd应该实现的事情,而不是需要一些附加组件的事情……并且sshd 会进行节流尝试。好。

-kb,肯特人,他只使用良好的密码,并且从未在不同站点之间回收过。


2
使用ssh密钥和禁用密码甚至可以更好地防止成功的暴力攻击。
HBruijn 2014年

是的,但是问题转移到保护您的ssh密钥。他们在哪?他们加密了吗?钥匙如何保护他们?如果密码不能在X年尝试中破解,那么密码就不能在X年尝试中破解,您需要“更好”的选择吗?我花了很多时间来管理密码,我可以输入密码,很多密码我都记得。但是一堆ssh键吗?需要一些安全的地方来保存它们。
肯特·博格2014年

2
暴力破解密码(通常少于20个字符,并且经常选择错误)比暴力破解1024位私钥(简化为等效于128个字符的密码)来通过SSH访问要简单得多。让我们坚持将苹果与苹果进行比较。--除非您是一个完全白痴(例如,将您的私钥存储在公共github中),否则很难获得ssh私钥,因为它永远都不需要离开工作站。一旦您的私钥遭到破坏,我们就不再处于随机攻击中,而是进入了有针对性的攻击领域……
HBruijn 2014年

@Kent您知道可以使用密码保护SSH密钥吗?另外,您说fail2ban是不必要的,但继续建议SSH应该自己实现此功能。另外,如果您不阻止请求,它们可以使您的系统更容易进行DDoS。
2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.