Ho disegnato alcuni schizzi
La macchina, in cui viene digitato il comando ssh tunnel, è chiamata "host" .
introduzione
Locale: -L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost
significa: connettersi con ssh a connectToHost
, e inoltrare tutti i tentativi di connessione alla porta locale sulla macchina chiamata , che può essere raggiunta dalla macchina.sourcePort
onPort
forwardToHost
connectToHost
a distanza: -R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost
significa: connettiti con ssh a connectToHost
, e inoltra tutti i tentativi di connessione al telecomando sourcePort
per port onPort
sulla macchina chiamata forwardToHost
, che può essere raggiunta dalla tua macchina locale.
Il tuo esempio
Bene, se desideri solo far funzionare l'inoltro X, ad esempio eseguire alcune applicazioni X sul computer a casa e visualizzarle su un sistema remoto (chiamiamolo computer di lavoro, perché potrebbe essere sul posto di lavoro), allora potresti non serve affatto un tunnel ssh.
Avvia le applicazioni X senza tunnel
Puoi semplicemente ssh dal computer di lavoro al tuo computer di casa? In tal caso, quando si è seduti sul computer di lavoro e si desidera avviare un'applicazione X in esecuzione sul computer di casa ma visualizzata sul computer di lavoro , è necessario digitare (sul computer di lavoro):
ssh -X homeuser @ homecomputer firefox
Questo avvierà Firefox sul tuo computer di casa e lo visualizzerà sul computer in cui hai digitato questo comando, ad esempio il tuo computer di lavoro.
Il computer nascosto ha bisogno del tunnel
Questa è l' immagine numero 3 dei miei schizzi. Molte volte il computer di casa non è raggiungibile direttamente da Internet, perché è protetto da un firewall o nascosto attraverso NAT (da un router). Quindi puoi usare un tunnel.
Sul tuo computer di casa blu ( yourhost
) digiti:
ssh -R 5555:localhost:22 remoteuser@remotehost
dov'è 5555
la porta verde ed 22
è la porta rosa nell'immagine.
Se ora sei al lavoro, a remotehost
, e ti connetti alla porta verde 5555
, la tua connessione viene incanalata / inoltrata alla porta rosa del tuo computer di casa localhost
(cioè il tuo computer di casa blu stesso). Ora devi digitare sul tuo computer di lavoro:
ssh -X -p 5555 homeuser@localhost firefox
che avvierà firefox sul tuo computer di casa ( yourhost
) e lo visualizzerà sul computer in cui hai digitato questo comando, ad esempio il tuo computer di lavoro ( remotehost
).