SSH Linux

SSH: Connection refused на порту 22

  • Обновлено
  • Чтение ≈ 2 минуты
  • Нужны права администратора

Краткий ответ

Проверьте, запущен ли sshd, и правила файрвола.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Служба SSH и порт
  5. Файрвол и облачные правила
  6. Сервер только что создан или переустановлен
  7. Защита от перебора

#Что означает ошибка

Сообщение
Connection refused

Ошибка ssh: connect to host … port 22: Connection refused означает, что на сервере по этому адресу и порту никто не принимает соединения: служба sshd не запущена, слушает другой порт или подключение отклонено файрволом. Отличайте её от Connection timed out (пакеты теряются, обычно блокировка) и Permission denied (соединение есть, но не прошла аутентификация).

Если доступ к серверу есть только по SSH, воспользуйтесь консолью хостера (VNC/Serial) — это самый надёжный способ вернуть управление.

Проверьте, запущен ли sshd, и правила файрвола.

#Причины и решения

Возможная причинаКак узнатьЧто делать
sshd остановленСлужба.Проявляется как «Connection refused» или близкий по смыслу сбой.Запустите.
ФайрволПорт.Проявляется как «Connection refused» или близкий по смыслу сбой.Откройте.
Другой портКонфиг.Проявляется как «Connection refused» или близкий по смыслу сбой.Укажите.
Облачный firewallГруппа.Проявляется как «Connection refused» или близкий по смыслу сбой.Разрешите.

#Пошаговое решение

  1. Проверьте sshdВ терминале клиента повторите ssh -v пользователь@имя-сервера и запишите, какой адрес и порт используются. Connection refused означает, что TCP-соединение активно отвергнуто; сначала проверьте, правильны ли IP и порт у провайдера, и не перепутан ли сервер после изменения DNS.
  2. Откройте портНа сервере через консоль провайдера или другой разрешённый доступ выполните sudo systemctl status ssh (в некоторых системах служба называется sshd) и sudo ss -tlnp | grep -E ":22\b|sshd". Если SSH слушает другой порт, подключайтесь к нему с ssh -p ПОРТ ...; службу не перезапускайте вслепую, пока не обеспечен запасной вход.
  3. Проверьте портПроверьте действующие правила межсетевого экрана, безопасность облачного провайдера и строку Port в /etc/ssh/sshd_config. Прежде чем исправлять конфигурацию, сохраните её копию, выполните sudo sshd -t и согласуйте открытие только нужного порта; испытайте новое подключение в отдельном окне, не закрывая рабочую консоль.

#Служба SSH и порт

Через консоль проверьте sudo systemctl status ssh (или sshd) и запустите службу, если она остановлена. Командой ss -tlnp | grep ssh убедитесь, что она слушает порт: он задаётся директивой Port в /etc/ssh/sshd_config. Если порт изменён, подключайтесь с ключом -p номер.

#Файрвол и облачные правила

Проверьте ufw status, iptables -L и firewalld. Откройте нужный порт (ufw allow 22/tcp). У облачных провайдеров (AWS, Hetzner, Yandex Cloud) отдельно настраиваются группы безопасности: правило для входящего порта 22 должно быть разрешено для вашего IP.

#Сервер только что создан или переустановлен

После переустановки изменился ключ узла: удалите старую запись командой ssh-keygen -R адрес. Убедитесь, что вы подключаетесь по верному IP-адресу, что сервер запущен, и что sshd установлен (на минимальных образах его может не быть: sudo apt install openssh-server).

#Защита от перебора

Fail2ban или правила хостера могут блокировать ваш IP после нескольких неудачных попыток. Проверьте fail2ban-client status sshd и при необходимости разблокируйте адрес. Рекомендуется отключить вход по паролю и использовать ключи.

Linux · Терминал (Bash)КомандаНужен sudo
Состояние службы, прослушиваемые порты и проверка конфигурации sshd.
sudo systemctl status ssh
sudo ss -tlnp | grep ssh
sudo sshd -t

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 1 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.