Соединение с ключом SSH сервера всегда было нормальным. Сегодня я перезагрузил компьютер, и вдруг соединение не удалось:
[zhangpeng@zhangpeng ~]$ ssh ubuntu@xx.xxx.xxx.xxx
kex_exchange_identification: read: Connection reset by peer
Connection reset by xx.xxx.xxx.xxx port 22
Что происходит вдруг? Все поисковые запросы в Интернете являются недействительными:
Я нашел несколько облачных документов и вдруг понял:
Что делать, если при входе в экземпляр Linux с помощью SSH-клиента появляется сообщение об ошибке «ssh_exchange_identification: read: Connection Reset by Peer»?
Несколько дней назад я подумал о том, чтобы добавить на сервер следующий скрипт и добавить запланированные задачи:
#cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/black.txt
DEFINE="5"
for i in `cat /root/black.txt`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $DEFINE ]
then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt 0 ]
then
echo "sshd:$IP:deny" >> /etc/hosts.deny
fi
fi
done
Отфильтровал следующий файл hosts.deny и в нем настоящий IP:
Решение состоит в том, чтобы добавить IP-адрес в файл host.allow:
sshd:xx.xxx.xxx.22:allow
Впервые я нашел что-то полезное для себя в облачном документе! благодарный!