SSH.jpg

第一步:限制用户从tty登录

编译PAM的配置文件:

vim /etc/pam.d/login

在第一行(最前面)添加如下内容:

auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10
**各参数解释:**

even_deny_root      也限制root用户; 

deny                设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户 

unlock_time         设定普通用户锁定后,多少时间后解锁,单位是秒; 

root_unlock_time    设定root用户锁定后,多少时间后解锁,单位是秒; 
此处使用的是 pam_tally2 模块,如果不支持 pam_tally2 可以使用 pam_tally模块。另外,不同的pam版本,设置可能有所不同,具体使用方法,可以参照相关模块的使用规则。

第二步:限制远程(SSH)登录

上面只是限制了用户从tty登录,而没有限制远程登录,如果想限制远程登录,需要改SSHD文件

vim /etc/pam.d/sshd

在第一行(最前面)添加如下内容:

auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10
 
查看用户登录失败的次数
    [root@node100 pam.d]# pam_tally2 --user redhat 
    Login           Failures Latest failure     From 
    redhat              7    07/16/12 15:18:22  tty1 
 
解锁指定用户
    [root@node100 pam.d]# pam_tally2 -r -u redhat 
    Login           Failures Latest failure     From 
    redhat              7    07/16/12 15:18:22  tty1 
 

第三步:设置重复验证次数,默认6次

编辑SSH配置文件

vim /etc/ssh/sshd_config

在ssh配置文件中查找#MaxAuthTries修改为:
MaxAuthTries 3 #错误3次即断开连接