ssh вперед декілька портів


9

Отже, це працює для мене:

ssh -v -L 8080:remotewebserver:8080 me@jumphost

Як щодо того, якщо я також хотів би включити більше портів?

Я хочу переслати не тільки 8080, але й 8443, 8923 та 8181?

Чи потрібно мені робити нове з'єднання для кожного порту?

Відповіді:


19

Ні, вам не потрібне одне з'єднання на переадресований порт, просто додайте подальші -Lзаяви:

ssh -L LPort1:RHOST1:RPORT1 -L LPORT2:RHOST2:RPORT2 me@ju.mp.ho.st

Це можна скоротити до ssh jump"псевдоніму" jump, якщо ви налаштуєте відповідний розділ у ~/.ssh/configтакий спосіб:

Host jump
    User myUserName
    Hostname ju.mp.ho.st
    Port 2345
    LocalForward 8080 remotewebserver:8080
    LocalForward 8443 remotewebserver:8443
    LocalForward 8923 remotewebserver:8923
    LocalForward 8181 remotewebserver:8181

# Eliminates reconnection delay, and does not try to re-forward ports:
Host *
  ControlMaster auto
  ControlPath /tmp/%r@%h:%p

Я використовував цю техніку багато років, напевно, вже з 10+ портами, але коли мені потрібно переадресувати більше портів, я використовую підтримку Dynamic Socks Proxy -D.


1
Під час підключення я бачив би ці повідомлення про помилки для кожного переадресованого порту: bind: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port:тоді Could not request local forwarding.з налаштуваннями Control * їх немає, спасибі! PS: Я дуже часто використовував цей прапор для коментарів у SE, і ви - перша людина, яку я також бачив, як це використовував.
Дан Даскалеску
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.