在 CentOS 7 里,想把用户登录重试限制真正配到位,MaxAuthTries 和 pam_tally2.so 需要一起设置:前者管的是单次 SSH 连接里最多能输错几次密码,比如设为 3;后者负责跨会话累计失败次数后的锁定,比如 deny=5。少了任何一个,限制都不完整。还有一个关键细节不能忽略:pam_tally2 必须放在 /etc/pam.d/sshd 的 auth 段开头。

CentOS 7怎么修改用户登录重试次数

CentOS 7 修改用户登录重试次数,核心是改两处:SSH 远程登录的 MaxAuthTries(控制单次连接内最多输错几次密码),以及 PAM 的 pam_tally2.so(控制跨会话的累计失败次数并锁定账户)。只改一个不顶用,必须配合使用。

/etc/ssh/sshd_config 中的 MaxAuthTries

这个参数限制的是「一次 SSH 连接过程中」允许输入错误密码的次数。比如设为 3,用户连上来后连续输错 3 次,连接直接断开,不会等到第 4 次才拒绝。

/etc/pam.d/sshd 中启用 pam_tally2.so

这才是真正实现「连续失败 N 次后锁定账号」的关键。它记录的是用户维度的累计失败次数,和连接无关 —— 即使每次连上来只输错 1 次,连错 5 次照样被锁。

验证和排错:为什么改了还是没锁?

常见失效原因不是配置写错,而是逻辑没理清:

最易被忽略的一点:PAM 规则生效依赖于调用顺序,auth required 必须出现在所有密码验证模块之前;而 MaxAuthTries 是 SSH daemon 层的硬性拦截,两者缺一不可 —— 前者防爆破,后者减负载。

本文转载于:https://www.php.cn/faq/3004417.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。