Więc to działa dla mnie:
ssh -v -L 8080:remotewebserver:8080 me@jumphost
A może chciałbym również uwzględnić więcej portów?
Chcę przesłać nie tylko 8080, ale także 8443, 8923 i 8181?
Czy muszę wykonać nowe połączenie dla każdego portu?
Nie, nie potrzebujesz jednego połączenia ssh na przekazany port, po prostu dodaj kolejne -L
instrukcje:
ssh -L LPort1:RHOST1:RPORT1 -L LPORT2:RHOST2:RPORT2 [email protected]
Można to skrócić ssh jump
, używając „aliasu” jump
, jeśli skonfigurujesz pasującą sekcję w ~/.ssh/config
podobny sposób:
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
Z tej techniki korzystam od wielu lat, z pewnością już z ponad 10 portami, ale kiedy potrzebuję więcej portów do przekazania, korzystam z obsługi Dynamic Socks Proxy -D
.
bind: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port:
wtedyCould not request local forwarding.
Z ustawieniami Control * zniknęły, dziękuję! PS: Często używam tej flagi komentarzy na SE, a ty jesteś pierwszą osobą, którą widziałem, również z niej korzysta. Doceń to :)