文档首页> 常见问题> 密码正确却登录失败:PAM 与误封排查

密码正确却登录失败:PAM 与误封排查

发布时间:2026-02-19 17:33        更新时间:2026-02-20 00:41
密码确认没记错,换一台电脑也被拒,这时候要怀疑的不是密码,而是有东西替服务器"决定"拒绝你——PAM(Linux 负责登录认证的模块体系)的失败计数和 fail2ban 的黑名单是最常见的两处。这类问题的共同特征是答案在服务器手里,所以一切从日志开始。顺带先排除一层:确认你敲的确实是当前的正确密码,密码管理器里存的可能是过期的那一条。 先看日志确认拒绝原因 能从控制台 VNC 登录的话,先翻日志:CentOS 看 /var/log/secure,Ubuntu 看 /var/log/auth.log,定位到你刚才尝试登录的时间点。日志会直说拒绝理由:是 authentication failure,还是提示账号被锁定。看日志比猜快十倍。 fail2ban 误封的验证与解封 有一个特征可以快速验证:手机热点的出口 IP 能连上,回到原来的网络又被拒,基本就是 fail2ban 封了你的出口 IP。查询 jail 状态用 fail2ban-client status,输出里 Jail list 没有 sshd,说明它根本没管 SSH,误封的另有其人。确认之后查询和解封两步: fail2ban-client status sshd fail2ban-client set sshd unbanip 你的出口IP 解封之后做两件事:把常用办公网的 IP 段写进 /etc/fail2ban/jail.local 的 ignoreip 白名单;确认 bantime 的时长设置,被反复封说明阈值太敏感,适当放宽 findtime 和 maxretry。jail 配置改完要 systemctl restart fail2ban 才生效。 PAM 失败计数锁定 短时间内多次输错密码,pam_faillock(老系统是 pam_tally2)会临时锁定账号。查看与重置: faillock --user root faillock --user root --reset 锁定策略在 /etc/security/faillock.conf 里调:deny 控制允许的错误次数,unlock_time 控制锁定时长,按团队习惯放宽;解封后重试几次又立刻被锁,说明阈值定得过低,把 deny 一起调大。老系统没有 faillock 命令时,用 pam_tally2 --user root 查看计数,--reset 同样能清零。日志里出现 account locked due to 之类的字样,就是它干的。 密码之外的可能 还有一类情况:服务器禁用了密码登录只允许密钥(PasswordAuthentication no),VNC 能登而 SSH 被拒;或者 sshd 的 AllowUsers、AllowGroups 白名单把你排除在外,日志里会有 User not allowed 的字样。这类改动通常伴随"上周还好好的"的时间点,翻一翻当时的变更记录就有答案。所以第一步永远是看日志,让机器自己告诉你拒绝的理由,再对症处理。