En el último de nuestros "solo los ejemplos", imagine que se encuentra en un escenario en el que desea conectarse a un servidor (o incluso navegar por una página web, etc.) en un servidor al que no puede acceder directamente. Sin embargo, tiene acceso desde su caja (localhost) a un servidor (servidor1) que puede conectarse a ese servidor (llamemos a ese servidor2).
¡Aquí se explica cómo usar un túnel ssh para esa mierda!
Supongamos que su nombre de usuario es bob, pero la única cuenta a la que tiene acceso en el host remoto (servidor2) se llama tom, solo por motivos de claridad.
Túnel desde localhost
a server1
y desde localhost
a server2
:
ssh -L 9998:tom@server2:22 -N bob@server1
ssh -p 9998 tom@localhost
Notará que cuando inicia sesión en el servidor 1 en la primera línea, simplemente se sienta y cuelga allí. Eso es porque está establecido el túnel. Simplemente pulsa ctrl+z
y escriba 'bg
' para poner en segundo plano el proceso ssh antes de dirigirse a ssh a través del túnel.
Si lo quiere súper seguro, necesita un aro adicional:este ejemplo abrirá un túnel desde localhost al servidor1 a través del cual se puede usar el servicio SSH en el servidor2. Luego se abre un segundo túnel desde localhost
a host2
a través del primer túnel.
ssh -L 9998:tom@server2:22 -N bob@server1
ssh -L 9999:tom@localhost:1234 -N -p 9998 localhost
Aquí hay un gran enlace con más ejemplos y explicaciones:
http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html