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 限制SSH登录失败
fail2ban 是一个流行的入侵防御软件,能监控日志并自动封禁多次尝试失败的IP地址。
安装 fail2ban(以 CentOS/RHEL 为例):
yum install fail2ban -y
Debian/Ubuntu 用户使用:
apt install fail2ban -y
配置 SSH 保护:
编辑 jail 配置文件:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
然后编辑 /etc/fail2ban/jail.local,确保包含以下内容:
[sshd]
enabled = true
maxretry = 3
findtime = 600
bantime = 3600maxretry:最大失败尝试次数(如3次) findtime:在多长时间内(秒)超过尝试次数触发封禁 bantime:封禁时长(秒)
保存后启动并启用服务:
systemctl start fail2ban
systemctl enable fail2ban
使用 PAM 的 pam_faillock 限制登录失败
这是系统级的账户锁定机制,不需要额外软件,适用于本地账户安全控制。
编辑 PAM 配置文件,启用失败计数和锁定功能。
即构数智人
即构数智人是由即构科技推出的AI虚拟数字人视频创作平台,支持数字人形象定制、短视频创作、数字人直播等。
36 查看详情
修改文件 /etc/pam.d/sshd,在首行添加:
auth required pam_faillock.so preauth
auth [default=die] pam_faillock.so authfail
account required pam_faillock.so
然后修改 /etc/pam.d/system-auth(或 password-auth),确保包含:
auth required pam_faillock.so preauth
silent deny=3 unlock_time=600deny=3:3次失败后锁定账户 unlock_time=600:600秒后自动解锁,也可设为0表示永久锁定需手动解锁
这样当用户SSH登录失败3次后,账户将被临时锁定。
查看和手动解锁被锁定的账户
使用以下命令查看某用户的失败登录次数:
faillock –user username
手动清空某用户的失败记录(即解锁):
faillock –reset –user username
基本上就这些。推荐生产环境使用 fail2ban,它更灵活且支持IP封禁;若追求轻量可选 pam_faillock。两种方式都能显著提升SSH安全性。
以上就是Linux如何限制ssh登录失败的次数的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/432880.html
微信扫一扫
支付宝扫一扫