Ubuntu如何限制SSH登录尝试

505
2025/2/27 15:31:23
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu系统中,限制SSH登录尝试可以通过配置PAM(Pluggable Authentication Modules)来实现。以下是具体步骤:

方法一:使用pam_tally2模块

  1. 安装pam_tally2模块

    sudo apt-get update
    sudo apt-get install libpam-tally2
    
  2. 编辑PAM配置文件: 打开/etc/pam.d/sshd文件:

    sudo nano /etc/pam.d/sshd
    

    在文件的顶部添加以下行:

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

    这里的参数解释如下:

    • deny=5:允许的最大失败登录尝试次数。
    • unlock_time=600:锁定时间(秒),超过这个时间后账户会自动解锁。
  3. 重启SSH服务

    sudo systemctl restart sshd
    

方法二:使用fail2ban模块

fail2ban是一个更强大的工具,可以监控日志文件并自动封禁恶意IP地址。

  1. 安装fail2ban

    sudo apt-get update
    sudo apt-get install fail2ban
    
  2. 配置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
    

    这里的参数解释如下:

    • maxretry:允许的最大失败登录尝试次数。
    • bantime:封禁时间(秒)。
  3. 启动并启用fail2ban服务

    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    

验证配置

  • 使用pam_tally2: 可以通过以下命令查看账户的锁定状态:

    sudo pam_tally2 --user=username
    
  • 使用fail2ban: 可以通过以下命令查看封禁的IP地址:

    sudo fail2ban-client status sshd
    

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu怎么安装nodejs