Hello! 欢迎来到小浪云!


如何限制CentOS SSH的登录尝试


avatar
小浪云 2025-05-02 13

要在centos上限制ssh的登录尝试,您可以采用以下两种方法:

  1. 利用Fail2ban工具

Fail2ban是一款用于阻止恶意IP地址的工具,通过监控日志文件并根据设定规则来封禁可疑IP。在centos上安装Fail2ban,您可以执行以下命令

sudo yum install epel-release sudo yum install fail2ban

安装完成后,启动Fail2ban服务并设置为开机自启:

sudo systemctl start fail2ban sudo systemctl enable fail2ban

接下来,您需要对Fail2ban进行配置。编辑或创建配置文件/etc/fail2ban/jail.local,并添加如下内容:

[DEFAULT] bantime = 600 findtime = 600 maxretry = 3  [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/secure maxretry = 3

上述配置设定为:若某个IP在600秒内尝试登录失败超过3次,则该IP会被封禁600秒。您可以根据实际情况调整这些参数。

配置完成后,重启Fail2ban服务以使更改生效:

sudo systemctl restart fail2ban
  1. 通过PAM(Pluggable Authentication Modules)来限制登录尝试:

编辑/etc/pam.d/sshd文件,并添加以下行:

auth required pam_tally2.so onerr=fail deny=3 unlock_time=600

此设置允许每个用户尝试登录3次,超过3次将被锁定600秒。您可以根据需求调整这些参数。

保存更改后,重启SSH服务以应用配置:

sudo systemctl restart sshd

通过上述两种方法,您可以有效限制CentOS上SSH的登录尝试。Fail2ban提供了一种更灵活的管理方式,可以应用于多种服务的封禁策略;而PAM则直接嵌入在SSH服务中,提供了一种简单直接的解决方案。根据您的具体需求,选择合适的方法即可。

相关阅读