Crear un tunel para encriptar la comunicación por ssh

A nivel de administrar sistemas conectandose a determinados servidores, suele existir la necesidad de conectarse a estos de forma segura, es decir podernos conectar a un equipo por un canal seguro de comunicación.

Para entendernos mejor vamos a poner un ejemplo práctico. Imaginemos que queremos conectarnos por vnc a otra máquina pero la comunicación por vnc no está encriptada (aunque ya existen clientes de vnc que lo hacen) y las condiciones de comunicación son las siguiente:

usuario Maquina remota  -> pepito
IP Maquina remota       -> 80.23.24.25
Puerto VNC remoto       -> 5555
Puerto ssh remoto       -> 22
Puerto Maquina origen   -> 6000

Con estos datos a través del vnc conectaríamos a esa IP con el puerto VNC y punto, pero en nuestro caso vamos a utilizar esos datos para establecer en tunel con la siguiente sintaxis:

$ ssh <usuario_maquina_remota>@<IP_maquina_remota> -p <puerto_ssh_remoto>
-L <puerto_local>:<IP_maquina_de_la_red_remota_a_conectar>:<puerto_remoto>

usuario_maquina_remota@IP_maquina_remota -> es la autenticación que necesitamos para acceder a una sesión terminal del equipo remoto. Hay que decir que es necesario que el usuario que se use para esta conexión tiene que existir en la máquina remota, ya que sino, no le dejará generar el tunel. En caso de querer hacer un tunel contra un puerto inferior al 1024, será necesario hacerlo con un usuario con privilegios de root o como usuario root.

puerto_local -> puerto que vamos a usar en nuestra máquina origen.

IP_maquina_de_la_red_remota_a_conectar -> en nuestro caso va a ser localhost o lo que es lo mismo 127.0.0.1, ya que queremos conectar al vnc de la máquina remota que nos acabamos de identificar por usuario y contraseña. También es posible poner aquí una IP de otra máquina que se encuentre en la misma red que la máquina remota y usar esta como pasarela para conectarnos al vnc de otra máquina de su misma red.

Por tanto en nuestro caso sería:

$ ssh pepito@80.23.24.25 -p 22 -L 6000:localhost:5555

Con esto ya hemos establecido conexión desde nuestro equipo por el puerto 6000 al del equipo remoto por el puerto 5555 del vnc de este equipo.
Ahora solo queda conectarnos por VNC poniendo: localhost:6000 o 127.0.0.1:6000 y conectaríamos de la misma forma que la forma tradicional pero por un canal de comunicación segura.

 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *