У меня есть домашний сервер под управлением Ubuntu 18.04, на котором размещены некоторые частные службы. Для доступа из внешнего мира у меня есть домен, который указывает через мой маршрутизатор на мой домашний сервер. Таким образом, я могу получить доступ к веб-сервисам, а также к SSH из любого места, что отлично работает.
Находясь дома, я хотел бы использовать тот же адрес домена для входа на свой сервер. Для веб-сервисов это работает. Однако я не могу войти через SSH из своей внутренней сети, используя домен. Я получаю следующее сообщение:
ssh: connect to host xyz.abc.com port 22: Connection refused
Во внутренней сети я могу подключиться к SSH, только если использую внутренний IP-адрес сервера.
Нужно ли мне где-то устанавливать специальные конфигурации для SSH, чтобы это работало?
Это можно настроить несколькими способами.
Имейте DNS-сервер для вашего внутреннего домена, который дает внутренние адреса для хостов в вашем домене и перенаправляет запросы для других доменов на серверы имен вашего интернет-провайдера. Этот ответ может показаться излишним, но это относительно простой способ сделать это, который может работать для всей вашей домашней сети. Например, DNS-сервер для LAN.
Настройте бастионный хост в Интернете, через который должны проходить эти запросы. Настройте брандмауэр, чтобы порт переадресовал этот конкретный адрес внутреннему хосту, который обслуживает этот адрес.
Настройте сервер, обрабатывающий этот трафик, как хост-бастион. Настройте один из его интерфейсов на прослушивание этого конкретного адреса.
Настройте файлы хостов в своих внутренних системах, чтобы знать внутренний IP-адрес домена.
Настройте файлы .ssh / config на своих внутренних машинах, чтобы знать это имя хоста как адрес во внутренней сети. Конфигурация ssh для доменов DNS
Каждый из этих вариантов, вероятно, является уже ответом на вопрос где-то на Stack Exchange, скорее всего, здесь или суперпользователем, но также возможно переполнение стека. По общему признанию, есть много похожих вопросов, которые нужно проанализировать.