Как включить соединение с SSH туннелем из сети (Ubuntu 18.04 LTS)

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

У меня настроен обратный SSH-туннель, который соединяется с моим сервером. Веб-страницу удаленного сервера можно получить через localhost:8080 на моем сервере (только что протестировано через curl). Я хочу сделать этот сервис доступным для остальной сети. Как это сделать? UFW неактивен, поэтому я не думаю, что это причина, по которой я не могу подключиться из сети.

Перенаправление портов с удаленных машин в SSH-туннели отключено по умолчанию в Ubuntu 18.04, оно будет перенаправлять запросы только с localhost, как вы проверяли.

Чтобы разрешить удаленным машинам из сети доступ к вашему SSH-туннелю, вам нужно отредактировать настройки сервера SSH:

echo 'GatewayPorts yes' | sudo tee -a /etc/ssh/sshd_config

(вы можете заметить, что в этом файле есть закомментированная строка #GatewayPorts no, так как это значение по умолчанию)

Теперь перезапустите службу SSH:

sudo service ssh restart

Теперь перенаправление портов в ваш SSH-туннель должно работать, когда запрашивается с удаленных хостов

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

Чтобы обеспечить доступ к SSH-туннелю из сети на сервере с Ubuntu 18.04 LTS, необходимо выполнить несколько шагов. Данный процесс включает в себя настройку конфигурации SSH-сервера, что позволит удалённым устройствам подключаться к вашему туннелю. Учитывая вашу текущую настройку и то, что UFW не активен, давайте подробно рассмотрим необходимые действия.

Шаг 1: Изменение конфигурации SSH-сервера

Теперь, по умолчанию, SSH-сервер разрешает переадресацию только запросов, исходящих от localhost. Чтобы разрешить подключение из других сетевых устройств, необходимо изменить конфигурацию SSH-сервера. Для этого выполните следующие действия:

  1. Откройте терминал на вашем сервере.

  2. Введите следующую команду для добавления настроек в файл конфигурации SSH:

    echo 'GatewayPorts yes' | sudo tee -a /etc/ssh/sshd_config

    Эта команда добавляет строку GatewayPorts yes в конец файла sshd_config, что разрешает подключение к SSH-туннелям с других устройств в сети.

  3. Если вы захотите убедиться, что данное изменения применилось, вы можете открыть файл sshd_config в текстовом редакторе, например, с помощью nano:

    sudo nano /etc/ssh/sshd_config

    Найдите строку #GatewayPorts no и убедитесь, что под ней теперь есть GatewayPorts yes.

Шаг 2: Перезагрузка SSH-сервера

После внесения изменений в конфигурацию, необходимо перезагрузить SSH-сервис для применения новых настроек. Выполните следующую команду:

sudo service ssh restart

Это обеспечит, что ваш SSH-сервер теперь будет обрабатывать входящие соединения на заданные порты, не ограничиваясь только локальными запросами.

Шаг 3: Проверка доступности сервиса

Теперь, когда конфигурация выполнена и сервер перезагружен, вам необходимо протестировать доступ к вашему сервису из сети. Используйте любой SSH-клиент (например, PuTTY или встроенный терминал на других Linux-устройствах) с указанием IP-адреса вашего сервера и порта (например, 8080). Команда для доступа к туннелю может выглядеть следующим образом:

curl http://<IP вашего сервера>:8080

Если все корректно настроено, вы должны получить ответ от запущенного сервера, что подтвердит успешное подключение.

Заключение

Теперь ваш SSH-туннель доступен для других устройств в сети благодаря изменению параметра GatewayPorts в конфигурации SSH-сервера. Это простое, но мощное изменение позволяет эффективно управлять доступом к вашим туннелям, оставаясь при этом в пределах безопасной среды. Не забывайте периодически проверять настройки безопасности вашего сервера, даже если UFW у вас отключен, для защиты от возможных уязвимостей.

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

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