Pages

lunes, febrero 10, 2020

tuneles SSH por consola.

A partir de la version 19.04 de Ubuntu, el gstm (Gnome SSH Tunnel Manager) dejo de funcionar, lo cual me llevo a repasar como se creaban los port forwarding desde consola. Sin demasiado misticismo ahi va la explicacion con un ejemplo

ssh -N -f usuario@direccionweb.algo -p 1052 -L 5000:localhost:3050

Vamos por partes.

ssh -> es el comando ssh

-N -> evita que ejecute un comando remoto, en este caso no nos abrira un shell remoto.

-f -> que se ejecute en background. esto permite dejar el tunel establecido corriendo en segundo plano. 

usuario@direccionweb.algo -> esta es la ruta del servidor al que vamos a conectarnos. 

-p 1052 -> en caso de que no utilice el puerto por defecto del servicio ssh (22) aclaramos el puerto con la opcion -p, en este caso el servidor al que nos conectamos, el servicio ssh escucha en el puerto 1052

-L 5000:localhost:3050 -> una vez conectados al servidor, le informamos que queremos acceder al puerto 3050 de la maquina localhost de la red remota a traves del puerto local 5000. si quisieramos acceder a otra maquina de la red remota, reemplazariamos "localhost" por la ip de la otra maquina.

Y eso es todo.
En caso de necesitar mas de un mapeo, se repite dentro de la misma sentencia el comando -L con cada mapeo que se quiera agregar.
Finalmente, para eliminar los tuneles creados, los listamos con el siguiente comando:

sudo lsof -i -n | egrep '\<ssh\>'


y hacemos

kill 9859

(tomando la imagen como ejemplo)