Fail2ban和PAM模块可限制SSH登录失败次数防暴力破解。Fail2ban通过监控日志自动封禁IP,配置maxretry、findtime和bantime实现;PAM的pam_faillock模块则在系统级锁定账户,修改sshd和system-auth文件,设置deny和unlock_time。前者推荐用于生产环境,后者适用于轻量需求,均能显著提升服务器安全。

限制SSH登录失败次数可以有效防止暴力破解攻击,提升服务器安全性。Linux系统中通常通过 fail2ban 或 PAM模块(pam_tally2 或 pam_faillock) 来实现。下面介绍两种常用方法。
fail2ban 是一个流行的入侵防御软件,能监控日志并自动封禁多次尝试失败的IP地址。
安装 fail2ban(以 CentOS/RHEL 为例):
yum install fail2ban -yDebian/Ubuntu 用户使用:
apt install fail2ban -y配置 SSH 保护:
编辑 jail 配置文件:
然后编辑 /etc/fail2ban/jail.local,确保包含以下内容:
[sshd]保存后启动并启用服务:
systemctl start fail2ban这是系统级的账户锁定机制,不需要额外软件,适用于本地账户安全控制。
编辑 PAM 配置文件,启用失败计数和锁定功能。
修改文件 /etc/pam.d/sshd,在首行添加:
auth required pam_faillock.so preauth然后修改 /etc/pam.d/system-auth(或 password-auth),确保包含:
auth required pam_faillock.so preauth这样当用户SSH登录失败3次后,账户将被临时锁定。
使用以下命令查看某用户的失败登录次数:
faillock --user username手动清空某用户的失败记录(即解锁):
faillock --reset --user username基本上就这些。推荐生产环境使用 fail2ban,它更灵活且支持IP封禁;若追求轻量可选 pam_faillock。两种方式都能显著提升SSH安全性。
以上就是Linux如何限制ssh登录失败的次数的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号