Проверьте сам порт
Ответ на ping или работающий сайт ничего не говорят об SSH: они используют разные протоколы или порты. Проверьте порт TCP непосредственно с клиента. Connection refused означает, что ответ пришёл, но ни одна служба не приняла соединение. Timeout означает, что ответа не было вовсе; обычно это указывает на межсетевой экран, маршрутизацию или перегрузку машины.
nc -vz -w 5 server.example 22
ssh -v -o ConnectTimeout=5 user@server.exampleConnection refused: проверьте sshd через консоль
Используйте консоль провайдера или гипервизора, а не SSH. Проверьте, работает ли служба, какой адрес и порт она прослушивает и корректна ли конфигурация. В новых выпусках Ubuntu SSH запускается через ssh.socket, поэтому проверьте и сокетный юнит. В других дистрибутивах служба может называться sshd.
sudo systemctl status ssh.service ssh.socket
sudo ss -lntp | grep -E ':22\b|sshd'
sudo sshd -t
sudo journalctl -u ssh -n 50 --no-pagerTimeout: проверьте межсетевые экраны
Проверьте межсетевой экран на сервере и все внешние фильтры: например, облачную группу безопасности, маршрутизатор или панель провайдера. Чтобы понять, доходят ли пакеты вообще, запустите tcpdump на сервере во время попытки соединения. Если ничего не появляется, блокировка находится до сервера. Если пакеты приходят, но ответ не уходит, ищите причину на сервере.
sudo ufw status verbose
sudo nft list ruleset | less
sudo tcpdump -ni any tcp port 22Блокировка fail2ban или изменённый порт
После неудачных входов fail2ban мог заблокировать ваш адрес. Это выглядит как timeout или отказ в соединении только с вашего адреса. Проверка из другой сети быстро это выявит. Также проверьте, не изменён ли порт параметром Port и не ограничено ли прослушивание одним адресом через ListenAddress в sshd_config или в файле из /etc/ssh/sshd_config.d.
sudo fail2ban-client status sshd
sudo sshd -T | grep -E '^(port|listenaddress) 'Соединение с портом устанавливается, но вход зависает
Если соединение TCP устанавливается, а начальное идентификационное сообщение SSH так и не приходит, sshd работает лишь частично или система перегружена. Через консоль проверьте память, место на диске и нагрузку. Заполненный диск или исчерпанная память могут препятствовать новым сеансам, хотя уже работающие службы продолжают отвечать.
uptime
free -h
df -hПроверка с помощью CH-J Server Manager
Server Diagnostics может без входа проверить ping, соединение TCP и идентификационную строку SSH для IPv4 и IPv6, чтобы вы увидели, на каком этапе происходит сбой. Проверки выполняются только с вашего компьютера. Инструмент не видит, что происходит внутри сервера, и не определяет, какой межсетевой экран отбросил пакет, поэтому для описанных выше проверок всё равно нужна консоль.