ssh限制登录次数和超时自动退出
系统空闲等待时间(超时自动退出)
- 修改 /etc/profile 文件 (/etc/profile 全局配置文件)
1
2export TMOUT=600 #600秒无操作自动退出登录
readonly TMOUT # 将值设置为readonly 防止用户更改,在shell中无法修改TMOUT source /etc/profile
生效即可- 取消此配置
- 删掉参数 并且
unset TMOUT
source /etc/profile
即可
- 删掉参数 并且
ssh限制登录次数
使用
pam_tally2
模块实现登录限制- 验证 pam_tally2 模块是否存在
1
whereis pam_tally2
- 验证 pam_tally2 模块是否存在
修改
/etc/pam.d/sshd
文件添加如下两行1
2
3auth requisite pam_tally2.so onerr=fail deny=3 unlock_time=60 even_deny_root root_unlock_time=60
account required pam_tally2.so(加到postlogin之后,如下图)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth requisite pam_tally2.so onerr=fail deny=3 unlock_time=60 even_deny_root root_unlock_time=60
auth include postlogin
account required pam_tally2.so
# Used with polkit to reauthorize users in remote sessions
-auth optional pam_reauthorize.so prepare
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
# Used with polkit to reauthorize users in remote sessions
-session optional pam_reauthorize.so prepareeven_deny_root
限制root用户root_unlook_time
root用户锁定时间 , 不锁定root 删除即可 配合even_deny_root参数unlock_time=60
普通用户锁定时间onerr=fail
连续错误deny=3
连续错误3次- 用户锁定期间, 无论输入正确和错误的密码 都视为密码错误,并以最后一次登录为锁定起始时间,如果用户解锁后输入密码的第一次仍为错误密码, 则再次锁定
检查
/etc/ssh/sshd_config
文件是否开启 pam 验证1
UsePAM yes
重启ssh服务
1
2
3systemctl restart sshd #centos7
service sshd restart #centos6使用pam_tally2命令检查登录情况
1
2
3pam_tally2 --user=root # 查看root用户登录失败情况
pam_tally2 --user=用户1 --reset #重置用户1 的登录失败次数为0
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!