当我们的公网ip启用之后,保留用户名密码登录,这个时候经常会遇到错误:
Last failed login: Wed Apr 27 11:53:11 CST 2022 from 46.19.137.254 on ssh:no
这么避免呢?除了使用秘钥登录之外,还可以动态禁用ip来处理
一.设置登录sshd服务的配置:
vim /etc/ssh/sshd_config
SyslogFacility AUTHPRIV
LoginGraceTime 2m
PermitRootLogin yes
StrictModes yes
MaxAuthTries 6
MaxSessions 1
PasswordAuthentication yes
配置好之后,如果有失败的登录会记录到文件/var/log/secure*中
2.查看登录记下来错误的ip
more /var/log/secure* |grep -E -o '(25[0-5]|2[0-4][0-9[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'
3.第二步查询到ip,计算每一个ip的错误次数,将次数较多的记下来,并存入文件/etc/hosts.deny
或者使用 使用inotify-tools,监控/var/log/secure文件,来实时更新/etc/hosts.deny文件
4.重启sshd



