温馨提示×

如何在CentOS上限制SSH登录次数

小樊
45
2025-11-21 18:15:59
栏目: 智能运维

在CentOS上限制SSH登录次数,可以通过配置PAM(Pluggable Authentication Modules)来实现。以下是具体步骤:

方法一:使用pam_tally2模块

  1. 安装pam_tally2模块

    sudo yum install pam_tally2
    
  2. 编辑PAM配置文件: 打开/etc/pam.d/sshd文件进行编辑:

    sudo vi /etc/pam.d/sshd
    
  3. 添加PAM规则: 在文件的顶部或适当位置添加以下行:

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

    解释:

    • deny=5:允许最多5次失败的登录尝试。
    • unlock_time=600:锁定时间为600秒(10分钟)。
  4. 保存并退出: 按Esc键,然后输入:wq保存并退出。

  5. 重启SSH服务

    sudo systemctl restart sshd
    

方法二:使用pam_faillock模块

  1. 安装pam_faillock模块

    sudo yum install pam_faillock
    
  2. 编辑PAM配置文件: 打开/etc/pam.d/sshd文件进行编辑:

    sudo vi /etc/pam.d/sshd
    
  3. 添加PAM规则: 在文件的顶部或适当位置添加以下行:

    auth required pam_faillock.so preauth silent audit deny=5 unlock_time=600
    auth [success=done new_authtok_reqd=done default=ignore] pam_unix.so
    auth requisite pam_deny.so
    auth required pam_permit.so
    

    解释:

    • deny=5:允许最多5次失败的登录尝试。
    • unlock_time=600:锁定时间为600秒(10分钟)。
    • preauth silent audit:在认证之前进行锁定,并记录审计日志。
  4. 保存并退出: 按Esc键,然后输入:wq保存并退出。

  5. 重启SSH服务

    sudo systemctl restart sshd
    

验证配置

你可以通过以下命令查看当前的登录失败次数:

sudo pam_tally2 --user=username --reset

或者使用pam_faillock模块的命令:

sudo faillock --user=username --reset

通过以上步骤,你可以在CentOS上成功限制SSH登录次数,提高系统的安全性。

0