ssh transférer plusieurs ports

9

Donc ça marche pour moi:

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

Et si j'aimerais également inclure plus de ports?

Je veux transmettre non seulement 8080, mais aussi 8443, 8923 et 8181?

Dois-je établir une nouvelle connexion pour chaque port?

devnull
la source

Réponses:

19

Non, vous n'avez pas besoin d'une connexion par port redirigé, ajoutez simplement d'autres -Linstructions:

ssh -L LPort1:RHOST1:RPORT1 -L LPORT2:RHOST2:RPORT2 [email protected]

Cela peut être raccourci en ssh jumputilisant "l'alias" jump, si vous configurez une section correspondante dans votre ~/.ssh/configcomme ceci:

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

J'utilise cette technique depuis de nombreuses années, sûrement déjà avec plus de 10 ports, mais lorsque j'ai besoin de plus de ports transférés, j'utilise le support Dynamic Socks Proxy -D.

Alex Stragies
la source
1
Lors de la connexion, je voyais ces messages d'erreur pour chaque port redirigé: bind: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port:puis Could not request local forwarding.avec les paramètres Control *, ceux-ci ont disparu, merci! PS: J'utilise beaucoup ce drapeau de commentaires sur SE, et vous êtes la première autre personne que j'ai vue à l'utiliser également. Appréciez cela :)
Dan Dascalescu