Доступ SSH через туннелирование

У меня есть следующая установка,

Машина (Windows 10 и подключенный к ISP (X)) и Машина B (Windows 10 и подключенный к ISP (Y)). Обе из этих машин (A и B) не имеют никаких прямых подключений. Машина A имеет доступ к Машине C (Поле Linux, выполняющее RHEL на облаке), и точно так же Машина B имеет доступ к Машине C.

Теперь сохраняя эту Машину C как туннель, действительно ли возможно получить доступ к машине Linux (Ubuntu), работающая в Машине B (в VirtualBox) от Машины A? Если да, как мы можем сделать это? Я предполагаю, что это может быть достигнуто через реверс ssh туннелирование, но не уверенное в шагах.

Для предоставления большей идеи установка похожа на следующее

                                   PUBLIC IP        SSH (Putty) (Machine C)
Machine A Windows 10 (192.168.1.2) --> ISP(49.xxx.xxx.xxx) ---> (34.xxx.xx.xxx)

                                 PUBLIC IP          SSH (Putty)  (Machine C)
Machine B Windows 10 (192.168.1.15) --> ISP(216.xxx.xxx.xxx) --->(34.xxx.xx.xxx)

Machine B Windows 10 (192.168.1.15) --> Virtual Box (192.168.1.100)

Теперь от Машины A, я хотел получить доступ 192.168.1.100 (ubuntu Machine), как я могу достигнуть этого? Существует только одна машина (Машина C), где Машина A и Машина B имеют доступ к. Существует ли способ сделать некоторое туннелирование и доступ 192.168.1.100 от Машины A?

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

1
задан 28 October 2017 в 10:39

1 ответ

Это должно быть возможно. Я могу дать команды Linux, у Вас будет к поиску эквивалентная конфигурация для того, какой бы ни клиенты SSH Вы используете в Windows.

От VM до B:

ssh -R localhost:2022:localhost:22 192.168.1.15

Это передаст порт 22 (по-видимому, SSH) на VM Ubuntu для портирования 2022 на 192.168.1.15.

От B до C:

ssh -R localhost:3022:localhost:2022 34.xxx.xx.xxx

Это передаст localhost:2022 (который самостоятельно является от, был передан предыдущей командой, работал в VM) к 3 022 на C.

От до C:

ssh -L 4022:localhost:3022 34.xxx.xx.xxx

Это передаст localhost:3022 на C к A 4022.

Таким образом у нас есть цепочка передачи:

  • 4022 на к
  • 3022 на C к
  • 2022 на B к
  • 22 на VM

Наконец, на A:

ssh localhost:4022

Это должно соединиться с VM.

Эта цепочка может быть укорочена. Например, в зависимости от включенных параметров сети, Вы могли сделать от B до C:

ssh -R :3022:192.168.1.15:22 34.xxx.xx.xxx

B непосредственно передаст 3022 на C к 22 на VM. И на A:

ssh 34.xxx.xx.xxx:3022
0
ответ дан 8 December 2019 в 03:36

Другие вопросы по тегам:

Похожие вопросы: