Tunel SSH a traves de otra maquina

ssh_1

El otro día estaba trabajando en casa (esto del teletrabajo puede llegar a ser esclavizante 🙂 cuando necesitaba acceder a un servicio de una máquina del trabajo a la cual no tenía acceso directo desde internet.

Entonces se me ocurrio que tenía 2 caminos:

  1. El camino fácil: redireecionar el el firewall un puerto al servicio de esa máquina
  2. El camino desconocido: Crear un tunel SSH a través de una máquina (de la red del trabajo) que tiene SSH accesible desde Internet.

Adivinar cual elegí 😛

Vamos al grano. Ya he descrito el escenario: una máquina con ssh accesible desde internet tiene que hacer de puente a otra máquina que no es accesible desde internet.

Vamos a ver una manera de lograrlo. Accedemos a esa máquina con SSH y dentro de ella lazamos:

ssh -R 8080:192.168.1.254:443 -f -N etxea.net

Donde etxea.net es la maquina donde nos encontramos trabajando (y que tiene SSH accesible desde internet) y la maquina 192.168.1.254 es a la que queremos acceder (concretamente a su puerto HTTPS). Con este comando lograremos que el puerto 8080 de etxea.net sea redirigido a través de SSH al puerto 443 de la máquina 192.168.1.254 a traves de la maquina desde donde hemos lanzado el comando.

Las opciones -f (background) y -N (no lanzar comando en el otro extremo) son utiles cuando solo queremos lanzar un tunel SSH.

Menudo lio 😛 a ver si un dibujito aclara como funcionará todo despues de lanzar el comando:

escenario

Tambien se puede utiliar este comando para establecer una redireccion de la maquina en internet a la maquina donde estamos trabajando. En teoria esto se puede hacer con -L, pero me encuentro mas comodo haciendolo con -R. Por ejemplo, tenemos nuestra maquina en internet que tiene un servicio corriendo en el puerto 5000, al cual queremos acceder desde etxea.net por un tunel ssh. Accedemos por SSH a esa maquina en Internet y lanzamos:


ssh -R 5000:localhost:5000 etxea.net

Con ello, desde etxea.net accediendo a localhost:5000 seremos redirigidos por el tunel SSH al puerto 5000 de la maquina remota.

Más info:

http://www.afp548.com/Articles/security/ssh-tunnels.html
ssh_2

Marcar como favorito enlace permanente.

Deja una respuesta