He dibujado algunos bocetos
La máquina, donde se escribe el comando ssh tunnel se llama »su host« .
Introducción
local: -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: conectarse con ssh a connectToHost
, y reenviar todos los intentos de conexión al puerto local en la máquina llamada , a la que se puede acceder desde la máquina.sourcePort
onPort
forwardToHost
connectToHost
remoto: -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: conectarse con ssh a connectToHost
, y reenviar todos los intentos de conexión al puerto remoto en la máquina llamada , a la que se puede acceder desde su máquina local.sourcePort
onPort
forwardToHost
Su ejemplo
Bueno, si solo desea hacer que el reenvío X funcione, es decir, ejecutar algunas aplicaciones X en la computadora en el hogar y hacer que se muestren en un sistema remoto (llamémoslo computadora de trabajo, porque podría estar en su lugar de trabajo), entonces posiblemente no necesito un túnel ssh en absoluto.
Iniciar aplicaciones X sin túnel
¿Puedes simplemente pasar de la computadora del trabajo a la computadora de tu casa? Si es así, cuando está sentado en la computadora del trabajo y desea iniciar una aplicación X que se ejecuta en la computadora de su hogar pero se muestra en la computadora del trabajo , debe escribir (en la computadora del trabajo):
ssh -X homeuser @ homecomputer firefox
Esto iniciará firefox en la computadora de su hogar y lo mostrará en la máquina donde escribió este comando, por ejemplo, la computadora de su trabajo.
La computadora oculta necesita un túnel
Esta es la imagen número 3 de mis bocetos. Muchas veces no se puede acceder directamente a la computadora doméstica desde Internet, porque está detrás de un firewall o está oculta a través de NAT (desde un enrutador). Entonces puedes usar un túnel.
En su computadora hogareña azul ( yourhost
) usted escribe:
ssh -R 5555:localhost:22 remoteuser@remotehost
donde 5555
está el puerto verde y 22
es el puerto rosa en la imagen.
Si ahora está en el trabajo, en el remotehost
, y se conecta al puerto verde 5555
, su conexión se canaliza / reenvía al puerto rosa de la computadora de su hogar localhost
(es decir, la computadora azul de su hogar). Ahora tiene que escribir en su computadora de trabajo:
ssh -X -p 5555 homeuser@localhost firefox
que iniciará firefox en la computadora de su casa ( yourhost
) y lo mostrará en la máquina donde escribió este comando, por ejemplo, la computadora de su trabajo ( remotehost
).