Как настроить проброс SSH на сервер без использования внешнего IP-адреса?

Как можно настроить VDS-сервер в качестве прокси-сервера для SSH-подключений, чтобы иметь возможность подключаться к своему серверу через внешний IP VDS-сервера? Каким образом можно поддерживать SSH-соединение к VDS-серверу без потери доступа к нему? Можно ли настроить SSH-соединение для работы на разных портах?
  • 23 сентября 2023 г. 13:37
Ответы на вопрос 2
Для настройки проброса SSH на сервер без использования внешнего IP-адреса можно использовать функцию "локалого проброса портов" в SSH.

Для этого нужно выполнить следующие шаги:

1. На VDS-сервере установите и настройте SSH-сервер.
2. Откройте файл конфигурации SSH-сервера (обычно /etc/ssh/sshd_config) и убедитесь, что параметр "GatewayPorts" установлен в "yes". Это разрешит проброс портов через внешний IP-адрес VDS-сервера.
3. Сохраните изменения и перезапустите SSH-сервер.
4. На вашем основном сервере выполните следующую команду SSH на VDS-сервере, чтобы настроить локальный проброс порта: 
   ```
   ssh -R <порт_внешнего_сервера>:localhost:<порт_основного_сервера> <пользователь>@<внешний_IP_VDS_сервера>
   ```
   Например, если вы хотите пробросить порт 2222 на своем VDS-сервере на порт 22 на основном сервере, выполните следующую команду:
   ```
   ssh -R 2222:localhost:22 <пользователь>@<внешний_IP_VDS_сервера>
   ```
5. Теперь вы можете подключаться к своему основному серверу через внешний IP VDS-сервера, используя порт 2222 (или тот, который вы выбрали) вместо стандартного порта SSH (22).

Чтобы поддерживать SSH-соединение к VDS-серверу без потери доступа к нему, вы можете выполнить следующую команду на основном сервере:
```
ssh -N -R <порт_внешнего_сервера>:localhost:<порт_основного_сервера> <пользователь>@<внешний_IP_VDS_сервера>
```
Параметр "-N" указывает SSH на не выполнять команду после установления соединения, что позволяет сохранить SSH-соединение открытым.

Да, вы можете настроить SSH-соединение для работы на разных портах, как указано выше, заменяя соответствующие порты в команде проброса портов.
1. Как вариант, можно создать ssh сессию с реверс туннелем с использованием ключей для авторизации. В зависимости от настроек туннеля, можно авторизоваться только с определенного VDS или с любого адреса.
2. Если вы ищете более продвинутое решение, можно поднять VPN сервер на VDS. Ваш сервер будет подключаться по VPN к VDS, а вы сможете войти в VDS по SSH и с его помощью получить доступ к вашему серверу. Также можно использовать iptables, чтобы настроить перенаправление определенного порта на IP вашего сервера. В общем, есть много вариантов, которые можно рассмотреть. Можно ли администратору заходить по SSH на VDS?
Похожие вопросы