Вопрос или проблема
Я больше не могу подключиться к своей системе с помощью 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, могут потребовать дополнительной настройки роутера или исполнения команд. Если ни одно из вышеперечисленных решений не сработает, рекомендуется обратиться к вашему интернет-провайдеру для диагностики возможных проблем на уровне сети.