Я запускаю этот скрипт несколько дней:
while [ true ]; do ssh USER@SERVER echo -n . || date +"%s"; done
Очевидно, мой терминал заполнен точками, но иногда (довольно редко) я получаю это
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
..............ssh: connect to host SERVER port 22: Connection refused
1323454879
ssh: connect to host SERVER port 22: Connection refused
1323454879
ssh: connect to host SERVER port 22: Connection refused
[snip]
1323454879
ssh: connect to host SERVER port 22: Connection refused
1323454879
ssh: connect to host SERVER port 22: Connection refused
.......................................................................
.......................................................................
.......................................................................
.......................................................................
.......................................................................
Я пробовал это с разными поставщиками серверов, исходными серверами, целевыми серверами, временем суток, географическими местоположениями. Рано или поздно эта ошибка появится на короткую секунду или две.
Этого следует ожидать или у меня проблема?
Скорее всего, это не отклоняющееся от нормы поведение, но этого следует ожидать.
Вы можете проверить:
правила брандмауэра
инструменты защиты от грубой силы
конфигурация ssh
Правила брандмауэра могут ограничивать скорость соединений SSH. Я использую это во многих своих брандмауэрах на основе iptables, чтобы подавить атаки SSH методом грубой силы. Правила ограничивают количество новых подключений к указанному порту.
Существуют такие инструменты, как fail2ban, denyhosts и другие, которые могут блокировать доступ после нескольких попыток.
Наконец, в конфигурации SSH (sshd_config) может быть указано максимальное количество серверов. Если вы быстро достигаете SSH, вы можете достичь этого предела.
Эта ошибка означает, что целевой сервер доступен, но порт 22 закрыт (демон SSH не запущен или работает на порту, отличном от порта по умолчанию).
Другая возможность заключается в том, что между вами и целевым сервером установлен брандмауэр, который переводит порт 22 во что-то еще, не открытое на целевом сервере.
Вы не сказали, всегда ли вы получаете эту ошибку на одном сервере или нет.