慕远的小站

  • 首页
  • linux命令
  • 常用镜像
  • 掩码计算
  • IOPS计算
  • 关于
2025年 6月
一 二 三 四 五 六 日
 1
2345678
9101112131415
16171819202122
23242526272829
30  
« 1月    

CentOS 7限制SSH密码输入次数的方式

  • Vincent慕远
  • 2022-07-25
  • 0

通过配置,可以限制CentOS 7 Linux系统在被SSH连接时的帐号密码输入次数,实现尝试输入多次错误密码后将帐号锁定一段时间,防止暴力破解。

操作方式

执行:cat /etc/pam.d/sshd

查看sshd的认证配置文件:

有一行引用了“password-auth”这个配置文件,

执行:vim /etc/pam.d/password-auth

编辑此密码认证配置文件,在如下图的3个位置增加3行内容(注意这三行内容的位置和顺序一定不能错,否则有可能造成无法登录!):

auth        required      pam_faillock.so preauth silent audit even_deny_root deny=5 unlock_time=900
auth        [default=die] pam_faillock.so authfail audit even_deny_root deny=5 unlock_time=900
account     required      pam_faillock.so

其中两行的“deny=5  unlock_time=900”这两个参数表示“密码输入错误达到5次,就锁定该用户帐号900秒”,900秒即15分钟。这两个数值可以按照需要修改,帐号锁定的时间单位是秒。

修改文件之后,保存并退出,然后执行:

systemctl restart sshd

# 来重启ssh服务以生效。

需要注意的是,在帐号被锁定期间,即便输入正确的密码,也会提示密码错误,此时需要等待至锁定时间结束后再尝试。

在帐号被锁定期间,如果系统还有其它用户帐号,通过其它帐号登录之后,执行:

sudo faillock --user root

可以查看到被锁定的用户帐号(以root为例):

此图中可以看到,root帐号有5次登录失败的记录,所以被锁定。

这个记录,在锁定时间过了之后并不会消失,而是直到下一次使用该帐号成功登录之后才会消失。

在锁定时间结束之后就已经可以通过正确的密码登录了。

成功登录一次之后再次查看,这时帐号锁定记录才消失。

© 2025 慕远的小站
Theme by Wing
辽ICP备2022002452号-1
  • {{ item.name }}
  • {{ item.name }}