Как перенаправить SSH с реверсированного SSH-порта на другой порт?

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

У меня есть коробка, в которой находится виртуальная машина.

В коробке установлено AllowTcpForwarding no, и мы не можем это изменить.

Я могу подключиться к виртуальной машине напрямую с помощью:

ssh -p 12022 vm_user@box

Коробка открывает обратное SSH соединение к глобальному узлу перехода следующим образом:

ssh -R 127.2.1.1:1073:localhost:22 support@global_jump

Мы можем подключиться к коробке из упомянутого глобального узла перехода следующим образом:

ssh -p 1073 [email protected]

Как мне подключиться к виртуальной машине напрямую из глобального узла перехода?

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

Для того чтобы осуществить SSH-подключение к виртуальной машине (VM) через глобальный промежуточный хост, важно правильно настроить обратный порт Forwarding, особенно если настройки сервера (например, AllowTcpForwarding no) не позволяют стандартные методы перенаправления. Давайте рассмотрим, как это можно сделать в вашем случае.

Понимание задачи

У вас есть сервер (назовем его "box"), который хостит виртуальную машину (VM). Вы можете подключаться к VM напрямую, но вам нужно подключатся к ней через глобальный промежуточный хост, осуществляя запросы к постоянному порту.

Шаги для выполнения задачи

  1. Подключение к VM через box:
    Вы можете подключиться к VM на порту 12022, используя команду:

    ssh -p 12022 vm_user@box
  2. Настройка обратного SSH на global_jump:
    Вы уже настроили обратное подключение на глобальный хост с помощью следующей команды:

    ssh -R 127.2.1.1:1073:localhost:22 support@global_jump

    Этот способ позволяет вам подключаться к box с глобального хоста через порт 1073.

  3. Настройка SSH-подключения к VM через global_jump:
    Чтобы подключиться к VM, вам нужно использовать SSH-соединение, ангулируя через box, поскольку AllowTcpForwarding выключен. Вам нужно будет сделать следующее:

    • Создайте SSH-туннель, который перенаправит порт, через global_jump на box:
      ssh -p 1073 support@global_jump -L 2222:localhost:12022

    Здесь мы перенаправляем локальный порт 2222 на порт 12022 на box, что даст вам возможность подключаться к VM через глобальный хост.

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

    ssh -p 2222 vm_user@localhost

    Данная команда будет использовать локальный перенаправленный порт 2222, выдавая доступ к виртуальной машине на box.

Заключение

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

Если у вас есть дополнительные вопросы или вам нужна дальнейшая помощь, не стесняйтесь обращаться!

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

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