SSH Linux

SSH: Connection timed out — нет ответа на порту 22

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

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

«ssh: connect to host … port 22: Connection timed out» значит, что пакеты до сервера не доходят: закрыт порт файрволом, неверный адрес, не запущен sshd или SSH работает на другом порту. Проверьте доступность порта и конфигурацию.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение

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

Сообщение
Connection timed out

Таймаут отличается от «Connection refused»: при отказе сервер ответил, что порт закрыт, а при таймауте ответа нет вообще. Значит, пакеты теряются по дороге — на файрволе сервера, в облачной группе безопасности, на роутере или у провайдера. Если же адрес указан неверно или сервер выключен, результат будет тот же.

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

Возможная причинаКак узнатьЧто делать
Файрвол блокируетUFW, iptables или облачная группа безопасности не пропускают порт 22.nmap -p 22 показывает filtered.Откройте порт 22.
Неверный адресВы подключаетесь к устаревшему IP.ping не отвечает.Проверьте IP в панели хостинга.
sshd не работаетСлужба остановлена или не слушает порт.С консоли сервера systemctl status ssh показывает inactive.Запустите службу.
Сменён портSSH слушает на нестандартном порту (например, 2222).В sshd_config указан другой Port.Подключайтесь с -p 2222.

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

  1. Проверьте адрес и доступностьСо своего компьютера проверьте, правильно ли введён IP или домен сервера, и соответствует ли он адресу в панели провайдера. На Windows откройте PowerShell и выполните Resolve-DnsName имя_сервера; на Linux/macOS — getent hosts имя_сервера или dig. Ошибка Connection timed out говорит об отсутствии ответа, а не о неверном пароле.
  2. Проверьте портНа Windows выполните Test-NetConnection адрес_сервера -Port 22, на Linux/macOS — nc -vz адрес_сервера 22. Если TCP недоступен, проверьте, не установлен ли нестандартный SSH-порт; его можно узнать в панели провайдера. Не меняйте в конфигурации порт лишь ради устранения сетевого ограничения.
  3. Подключитесь через консоль провайдераЕсли доступ по SSH отсутствует, используйте веб-консоль/VNC/серийную консоль провайдера для входа на сам сервер. На сервере выполните systemctl status ssh (Debian/Ubuntu) или sshd (RHEL) и sudo ss -ltnp, чтобы узнать, слушает ли служба нужный IP/порт. Без консоли не пытайтесь менять firewall удалённо.
  4. Проверьте порт в конфигурацииВ действующем файле sshd_config или sshd_config.d/*.conf проверьте Port, ListenAddress и включения Include; команда sudo sshd -T показывает итоговые параметры. Сохраните копию, выполните sudo sshd -t и сохраняйте действующую консоль при проверке нового порта.
  5. Откройте порт в файрволеПроверьте межсетевой экран сервера и отдельные правила облачного провайдера. Разрешите входящий TCP только с доверенных IP на фактический порт SSH, убедитесь в наличии резервного доступа; запрещено отключать firewall целиком или закрывать единственный удалённый канал до проверки нового.
  6. Проверьте блокировки по IPЕсли подключение не работает только с вашего адреса, проверьте журнал fail2ban (fail2ban-client status sshd) и актуальный внешний IP. Снимайте блокировку только с собственного адреса после выяснения причины, не отключайте весь механизм защиты от перебора.
  7. Подключитесь с подробным выводомПосле исправления выполните ssh -vvv -p порт пользователь@сервер с правильным портом и проследите переход к обмену ключами. Если соединение теперь принимает ключ, но выдаёт Permission denied, это отдельная проблема аутентификации; не путайте её с прежним таймаутом.
  8. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Проверка службы, порта и файрвола на сервере.
    Linux · Терминал (Bash)КомандаНужен sudo
    Проверка службы, порта и файрвола на сервере.
    sudo systemctl status ssh
    sudo ss -tlnp | grep ssh
    sudo ufw status
    sudo fail2ban-client status sshd
    Вариант 2Проверка с клиента.
    Linux · Терминал (Bash)Команда
    Проверка с клиента.
    nc -vz IP 22
    ssh -vvv user@IP

Если вы за корпоративной сетью, порт 22 может быть закрыт — тогда попробуйте подключиться на порт 443 или через VPN. Менять порт SSH стоит не как защиту (это лишь снижает шум в логах), а как организационную меру; всегда убедитесь, что новый порт открыт в файрволе, прежде чем перезапускать sshd — иначе потеряете доступ.

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

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

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