温馨提示×

Ubuntu SSH如何限制登录尝试次数

小樊
47
2025-11-16 15:11:01
栏目: 智能运维

在Ubuntu系统中,可以通过配置SSH服务器来限制登录尝试次数。以下是具体步骤:

方法一:使用PAM(Pluggable Authentication Modules)

  1. 编辑PAM配置文件: 打开/etc/pam.d/sshd文件进行编辑。

    sudo nano /etc/pam.d/sshd
    
  2. 添加或修改以下行: 在文件的顶部添加以下内容,以启用登录失败次数限制和锁定账户功能。

    auth required pam_tally2.so onerr=fail deny=5 unlock_time=600
    account required pam_tally2.so
    

    解释:

    • deny=5:允许最多5次失败的登录尝试。
    • unlock_time=600:在达到最大失败次数后,账户将被锁定600秒(即10分钟)。
  3. 保存并退出编辑器

  4. 重启SSH服务: 使更改生效,需要重启SSH服务。

    sudo systemctl restart sshd
    

方法二:使用Fail2Ban

Fail2Ban是一个更强大的工具,可以监控日志文件并根据规则自动禁止恶意IP地址。

  1. 安装Fail2Ban: 如果尚未安装Fail2Ban,可以使用以下命令进行安装。

    sudo apt update
    sudo apt install fail2ban
    
  2. 配置Fail2Ban: Fail2Ban的默认配置文件通常位于/etc/fail2ban/jail.local。你可以根据需要进行自定义。

    sudo nano /etc/fail2ban/jail.local
    

    添加或修改以下内容:

    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 5
    bantime = 600
    

    解释:

    • enabled = true:启用此jail。
    • port = ssh:指定要监控的端口。
    • filter = sshd:使用默认的sshd过滤器。
    • logpath = /var/log/auth.log:指定日志文件路径。
    • maxretry = 5:允许最多5次失败的登录尝试。
    • bantime = 600:在达到最大失败次数后,IP地址将被禁止600秒。
  3. 启动Fail2Ban服务: 使Fail2Ban生效。

    sudo systemctl start fail2ban
    
  4. 设置Fail2Ban开机自启

    sudo systemctl enable fail2ban
    

通过以上两种方法,你可以有效地限制Ubuntu系统上的SSH登录尝试次数,提高系统的安全性。

0