SSH, туннелирующий с несколькими динамическими перенаправлениями портов

Проект VideoLAN существует в значительной степени, чтобы сделать, чего Вы требуете.

Я не использовал его возможности потоковой передачи, но в его единственном использовании машины это показало, чтобы быть горным телом для меня.

7
24.08.2011, 18:38
3 ответа

Действительно ли я прав в размышлении, что Вы имеете свой компьютер (компьютер A) и говорите, что два сервера (A и B), с которым Вы не можете соединиться непосредственно на определенном порте и тем самым хотеть туннелировать им по SSH?

Если так, Вы создаете два туннеля из своей машины (одна к каждому целевому серверу) на различных локальных портах с помощью-L не-D, и затем в контрольном инструменте Вы соединяетесь со своей локальной машиной (никакие настройки прокси), как будто это был удаленный сервер, который Вы хотите проверить.

ssh -L 9000:localhost:<local port jstatd listens on> user@server1
ssh -L 9001:localhost:<local port jstatd listens on> user@server2

Затем с помощью локального монитора Вы соединяетесь с localhost:9000 и localhost:9001, и те туннели подключают Вас к Вашему целевому jstatd's.

Если существует промежуточный сервер, то два туннеля транзитного участка,

ssh -L 9000:server1:<local port jstatd listens on> user@bastion-host
ssh -L 9001:server2:<local port jstatd listens on> user@bastion-host

Хм, если хост оплота может говорить со всей JVM, то

ssh -D 9000 user@bastion-host

Достаточно должен создать прокси носков, который можно затем просто использовать по порту 9000.

5
27.01.2020, 20:17
  • 1
    Этот ответ выглядит полезным, я собирался записать что-то подобное, downvoter мог привести некоторую причину? –  Stéphane Gimenez 24.08.2011, 18:59

Из ssh страницы справочника:

 -D [bind_address:]port
         Specifies a local “dynamic” application-level port forwarding.
         This works by allocating a socket to listen to port on the local
         side, optionally bound to the specified bind_address.  Whenever a
         connection is made to this port, the connection is forwarded over
         the secure channel, and the application protocol is then used to
         determine where to connect to from the remote machine.  Currently
         the SOCKS4 and SOCKS5 protocols are supported, and ssh will act
         as a SOCKS server.  Only root can forward privileged ports.
         Dynamic port forwardings can also be specified in the configura‐
         tion file.

Вы указываете тот же локальный порт для передачи от дважды; Попробовать -D 9697 на Вашей второй установке.

3
27.01.2020, 20:17
  • 1
    К сожалению, кажется, что visualvm только позволяет мне установить это однажды. Существует ли путь вокруг этого? –  toolkit 23.08.2011, 20:14
  • 2
    Используйте-L, не-D, как указано в ответе @EightBitTony.-D для стиля SOCKS proxing - например, направляя HTTP через туннель SSH. –  John Hart 21.03.2014, 18:55

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

1
27.01.2020, 20:17

Теги

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