LINUX系统下拦截ssh:notty错误的IP地址

2021/3/22 0:29:50      点击:

ssh:notty错误的IP虽然有些可以使用fail2ban的规则来拦截,但是感觉总是不干净,因为你登陆系统的时候,经常会看到类似下面的错误信息:

Last failed login: Sun Mar 21 23:13:34 CST 2021 from 150.185.8.115 on ssh:notty
There were 685 failed login attempts since the last successful login.
看着这样的信息,总是很不爽的,所以得像个更彻底的办法来拦截这些IP地址

vi /opt/block-ssh-notty.sh

#!/bin/bash

while true
do
badip=$(lastb -i -a | awk '/ssh:notty/ {print $NF}'|sort|uniq -c|awk '($1>3) {print $2}')
for i in $badip
do
iptables -I INPUT -s $i -j DROP
done
: > /var/log/btmp
sleep 10s
done
保存文件以后,设置为可执行权限 chmod +x /opt/block-ssh-notty.sh然后加载到rc.local开启启动

执行以后,你使用iptables -L -n你可以发现增加了很多屏蔽的IP地址,很多都是你的fail2ban没有拦截到的IP地址。