备份”/etc/pam.d/sshd”文件

  1. cp /etc/pam.d/sshd /etc/pam.d/sshd.bak

修改 /etc/pam.d/sshd

在 auth required pam_sepermit.so 下一行加入

  1. auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=300

在 account required pam_nologin.so 下一行加入

  1. account required pam_tally2.so

修改完成配置立即生效,无需重启系统

修改完成后的配置文件

  1. cat /etc/pam.d/sshd
  2. #%PAM-1.0
  3. auth required pam_sepermit.so
  4. auth required pam_tally2.so deny=5 unlock_time=600 even_deny_root root_unlock_time=300
  5. auth substack password-auth
  6. auth include postlogin
  7. # Used with polkit to reauthorize users in remote sessions
  8. -auth optional pam_reauthorize.so prepare
  9. account required pam_nologin.so
  10. account required pam_tally2.so
  11. account include password-auth
  12. password include password-auth
  13. # pam_selinux.so close should be the first session rule
  14. session required pam_selinux.so close
  15. session required pam_loginuid.so
  16. # pam_selinux.so open should only be followed by sessions to be executed in the user context
  17. session required pam_selinux.so open env_params
  18. session required pam_namespace.so
  19. session optional pam_keyinit.so force revoke
  20. session include password-auth
  21. session include postlogin
  22. # Used with polkit to reauthorize users in remote sessions
  23. -session optional pam_reauthorize.so prepare

各参数解释

even_deny_root 也限制root用户;
deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;

此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally 模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则

重置pam_tally 设置命令

  1. pam_tally2 --reset
文档更新时间: 2019-01-22 11:33   作者:张尚