ssh подключение к хосту: истекло время ожидания соединения

Вопрос или проблема

Я больше не могу подключиться к своей системе с помощью ssh на Ubuntu 24.04

Портовая переадресация (на роутере моего интернет-провайдера) в порядке (см. изображение) – с этими настройками все работало на 22.04

введите описание изображения здесь

В моем /etc/ssh/sshd_config я установил порт:

Port 2406

UFW позволяет порт 2406/tcp

Status: active

To                         Action      From
--                         ------      ----
2406/tcp                   ALLOW       Anywhere                  
2406/tcp (v6)              ALLOW       Anywhere (v6)   

SSH-сервер работает:

● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/usr/lib/systemd/system/ssh.service; disabled; preset: enabled)
     Active: active (running) since Wed 2024-11-20 20:19:06 EET; 1min 4s ago
TriggeredBy: ● ssh.socket
       Docs: man:sshd(8)
             man:sshd_config(5)
   Main PID: 7330 (sshd)
      Tasks: 1 (limit: 19006)
     Memory: 2.1M (peak: 2.4M)
        CPU: 19ms
     CGroup: /system.slice/ssh.service
             └─7330 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"

Nov 20 20:19:06 dev-machine systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
Nov 20 20:19:06 dev-machine sshd[7330]: Server listening on :: port 2406.
Nov 20 20:19:06 dev-machine systemd[1]: Started ssh.service - OpenBSD Secure Shell server.

При попытке скопировать какой-то файл с другого компьютера на мой SSH-сервер:

scp -P 2406 uploaded.tar.gz [email protected]:/home/ubuntu/VPS

где w.x.y.z – мой публичный IP-адрес, я получаю ошибку:

ssh: connect to host w.x.y.z port 2406: Connection timed out
lost connection

Что я делаю не так??? То же самое я делал, когда у меня была Ubuntu 22.04, и это работало. После того как я обновился до 24.04 (чистая установка) – похоже, это больше не работает.

Есть идеи?

*** ОБНОВЛЕНИЕ ***

Забыл упомянуть, что мой внутренний IP статический:

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.1.24  netmask 255.255.255.0  broadcast 192.168.1.255

Ваш сервер, похоже, настроен правильно. Вывод команды systemctl status ssh указывает, что он active и слушает на порту 2406. Кроме того, ваши правила UFW позволяют трафик на порту 2406.

Однако ошибки Connection timed out обычно означают, что SSH-клиент не видит никаких ответов от сервера. Это указывает на то, что TCP-соединение не завершается, и проблема заключается не в SSH.

Чтобы протестировать:

Проверьте свой сервер локально:

ssh localhost -p 2406

Если это успешно, проверьте с другого хоста в сети:

ssh 192.168.1.24 -p 2406

Если это работает, протестируйте с внешнего хоста.

Если внешний хост не работает, проверьте свой роутер.

Смотря на снимок экрана ваших правил портовой переадресации, похоже, что правило не включено. Также я не вижу введенного публичного IP-адреса, но предполагаю, что вы опустили это по причинам конфиденциальности.

Флажок включения портовой переадресации роутера

Во-первых, я бы протестировал открытые порты вашей цели с клиента с помощью nmap.

nmap -sV -p- <целевая ipv4>

Если вы не видите свою SSH-службу в выводе, что-то не так с вашей портовой переадресацией или с вашим файрволом.

Чтобы исключить файрвол как причину, отключите его и запустите nmap снова. Если это совершенно не помогает, что-то должно быть не так с вашей портовой переадресацией.

Ответ или решение

Проблема подключения по SSH: Доступ к хосту: истекло время ожидания

Если вы сталкиваетесь с ошибкой ssh: connect to host [IP-адрес] port 2406: Connection timed out, это может указывать на то, что клиент SSH не получает ответ от сервера. Рассмотрим подробнее возможные причины и пути их устранения.

1. Проверка локального соединения

Первоначально стоит убедиться, что служба SSH работает корректно и доступна с локальной машины. Выполните команду:

ssh localhost -p 2406

Если данный тест проходит успешно, попробуйте подключиться с другой машины в вашей локальной сети:

ssh 192.168.1.24 -p 2406

Если оба теста успешны, это указывает на то, что сервер SSH функционирует правильно и принимает подключения на локальном уровне.

2. Тестирование с внешней машины

Если локальные подключения работают, но подключения из внешней сети продолжают возвращать ошибку тайм-аута, это может указывать на проблемы с маршрутизацией или настройками вашего роутера. Проверьте, работает ли подключение из сети, отличной от вашей локальной:

ssh -p 2406 w.x.y.z

3. Проверка настроек маршрутизатора

Ваш маршрутный устройство (роутер) должен иметь правильно настроенные правила проброса портов (port forwarding). Убедитесь, что вы:

  • Пробросили внешний порт 2406 на внутренний IP-адрес вашего сервера (192.168.1.24).
  • Убедитесь, что проброс порта активирован и правильно настроен.

Если вы пропустили какие-либо параметры или флажки в интерфейсе роутера, это может привести к проблемам с доступом.

4. Проверка брандмауэра

Хотя UFW уже настроен на разрешение входящего трафика на порт 2406, рекомендуется временно отключить его для тестирования:

sudo ufw disable

После этого снова проверьте возможность подключения. Если подключение работает, верните настройки брандмауэра обратно:

sudo ufw enable

5. Проверка открытых портов с помощью nmap

Для окончательной проверки доступности SSH порта можете использовать nmap. Синтаксис:

nmap -sV -p 2406 w.x.y.z

Если nmap не указывает на открытый порт 2406, это подтверждает, что проблема заключается в маршрутизации или настройках брандмауэра на роутере или провайдере.

Заключение

Суммируя, проверка работы SSH локально, настройки проброса портов на маршрутизаторе и ваши брандмауэры являются ключевыми шагами для решения проблемы с подключением. Изменения в конфигурации, такие как установка Ubuntu 24.04, могут потребовать дополнительной настройки роутера или исполнения команд. Если ни одно из вышеперечисленных решений не сработает, рекомендуется обратиться к вашему интернет-провайдеру для диагностики возможных проблем на уровне сети.

Оцените материал
Добавить комментарий

Капча загружается...