Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Connection-refused Linux / DevOps

Ошибка SSH 'Connection refused': диагностика и запуск службы sshd

Обновлено: 26.08.2026 · Официальная документация ↗

Почему возникает ошибка «ssh: connect to host ... port 22: Connection refused»

Ошибка «Connection refused» (В соединении отказано) означает, что сетевой пакет успешно долетел до целевого сервера Linux, но операционная система мгновенно отбросила запрос (отправив TCP RST пакет). Это происходит по двум причинам: служба SSH-сервера (sshd) полностью выключена/упала или сетевой порт 22 блокируется локальным файрволом.

Бизнес-риски

Администратор теряет удаленный контроль над сервером. Невозможно администрировать сайты, развертывать обновления и снимать бэкапы, что нарушает соглашение об уровне обслуживания (SLA).

Текст ошибки клиентаСетевой уровеньРеальная причина
Connection refusedТранспортный (TCP RST)Служба SSH остановлена или порт не слушается
Connection timed outСетевой (DROP)Пакеты блокируются внешним файрволом провайдера / роутера

Пошаговая диагностика и запуск SSH на сервере (через консоль KVM / VNC)

Шаг 1: Проверка статуса службы SSH

Откройте локальную консоль сервера или панель KVM в личном кабинете хостинга и проверьте состояние демона OpenSSH:

sudo systemctl status ssh
 или на CentOS/RHEL:
sudo systemctl status sshd

Если в выводе написано Active: inactive (dead) или failed, служба не работает.

Шаг 2: Запуск и включение автозагрузки службы

Запустите службу и добавьте ее в автозапуск при включении сервера:

sudo systemctl enable --now ssh
sudo systemctl restart ssh

Шаг 3: Проверка, слушает ли сервер порт 22

Убедитесь, что процесс SSHD действительно слушает сетевой порт 22:

sudo ss -tulpn | grep :22

В выводе должна быть строка со статусом LISTEN и процессом sshd.

Шаг 4: Установка OpenSSH Server (если он не был установлен)

На чистых минимальных дистрибутивах пакет SSH-сервера может вовсе отсутствовать. Установите его:

sudo apt update
sudo apt install openssh-server -y

Типовые ошибки администраторов

  • Блокировка встроенным файрволом UFW: Вы включили фаервол ufw enable, забыв добавить разрешающее правило для SSH. Решение: выполните команду sudo ufw allow 22/tcp.
  • Синтаксическая ошибка в /etc/ssh/sshd_config: Если при редактировании конфига была допущена ошибка, служба SSHD не сможет запуститься после перезагрузки. Проверяйте синтаксис конфига командой sudo sshd -t перед перезапуском.
Сервер стал недоступен по SSH после обновления или смены настроек безопасности?
Инженеры ITSTM оперативно восстановят доступ через спасательный режим (Rescue Mode), починят конфиги SSHD и защитят сервер от подбора паролей (Fail2ban).
💡 Практика специалистов: Перед внесением любых изменений в /etc/ssh/sshd_config всегда открывайте вторую резервную сессию SSH в соседней вкладке терминала и не закрывайте ее, пока не проверите успешность нового подключения в третьем окне. Это спасет вас от необходимости экстренно подключать KVM-консоль.

Частые вопросы (FAQ)

Как проверить лог ошибок падения службы SSH?

Посмотрите подробные системные логи службы командой: sudo journalctl -u ssh.service -e --no-pager

Что делать, если SSH перестал пускать по паролю после чистой установки Ubuntu 22.04?

По умолчанию вход для root по паролю запрещен. В файле /etc/ssh/sshd_config измените директиву на 'PermitRootLogin yes' или заходите под непривилегированным пользователем.

Может ли антивирус или фаервол на клиенте Windows вызывать Connection Refused?

Нет. При блокировке на стороне клиента или сетевого экрана обычно возникает ошибка 'Connection Timed Out'. 'Connection Refused' генерирует сам целевой Linux-сервер.

Как перезапустить SSH на сервере, не оборвав текущую активную сессию?

Команда 'sudo systemctl restart ssh' перезапускает только мастер-процесс демона, слушающий порт. Все уже установленные активные SSH-сессии пользователей остаются работать без разрыва.

Полезные материалы
Рекомендуем