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

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

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

SSH_CONNECTION_REFUSED Linux / DevOps

Ошибка SSH 'Connection refused': проверка статуса службы sshd в Linux

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

При попытке подключиться к удаленному Linux-серверу через PuTTY, WinSCP или консоль Windows/macOS появляется ошибка: ssh: connect to host 192.168.1.100 port 22: Connection refused (В соединении отказано).

Что означает ошибка «Connection refused»?

В отличие от ошибки «Connection timed out» (когда сервер вообще не отвечает из-за проблем с кабелем или роутером), «Connection refused» означает: сервер включен и доступен в сети, но на запрошенном порту (порт 22) **никто не слушает входящие соединения** (служба SSH выключена, упала или не установлена).


Шаг 1. Проверяем, установлен ли SSH-сервер (через локальную консоль)

Подключите монитор и клавиатуру к серверу или откройте VNC/KVM-консоль в панели хостинга и выполните:

sudo systemctl status ssh || sudo systemctl status sshd

Шаг 2. Разбор статусов службы:

  • Статус `Active: active (running)`: служба работает. Возможно, SSH слушает нестандартный порт (проверьте командой: sudo ss -tulpn | grep sshd).
  • Статус `Active: inactive (dead)`: служба остановлена. Запустите ее:
    sudo systemctl enable --now ssh
  • Ошибка `Unit ssh.service could not be found`: SSH-сервер не установлен! Установите его:
    sudo apt update && sudo apt install openssh-server -y
    sudo systemctl enable --now ssh

Шаг 3. Проверка межсетевого экрана (UFW Firewall)

Если служба работает, но подключение блокируется фаерволом:

sudo ufw allow 22/tcp
sudo ufw reload
💡 Практика специалистов: Если сервер находится за NAT (домашний роутер или офисный маршрутизатор), ошибка 'Connection refused' при подключении из интернета означает, что на роутере не настроен Port Forwarding (проброс порта 22 на локальный IP сервера).

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

В чем разница между службой ssh и sshd?

В дистрибутивах Debian/Ubuntu служба обычно называется 'ssh', а в дистрибутивах RHEL/CentOS/Rocky Linux — 'sshd' (SSH Daemon). Команда systemctl status sshd работает в большинстве систем как алиас.

Как перезапустить SSH-сервер после изменения настроек?

Выполните команду: sudo systemctl restart ssh. При этом текущая активная SSH-сессия не разорвется.

Почему root-пользователь не может войти по SSH даже с правильным паролем?

В целях безопасности вход под root по паролю по умолчанию заблокирован в файле /etc/ssh/sshd_config директивой PermitRootLogin prohibit-password. Для входа создайте обычного пользователя с правами sudo.

Как проверить, какой порт на самом деле слушает SSH?

Выполните команду: sudo ss -tlpn | grep ssh. В столбце 'Local Address' будет указан номер порта (например, *:22 или *:2222).

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