En este manual os vamos a explicar cómo conectarnos vía SSH a un servidor remoto que en principio sólo estaría accesible en la LAN, utilizando un túnel SSH. En RedesZone os hemos enseñado a realizar un SSH Tunneling con la finalidad de navegar por Internet de forma segura (si nos conectamos a redes inalámbricas que no son de confianza), sin embargo, también podremos utilizar esta técnica para conectarnos a un servidor remoto que en principio no tiene conectividad con Internet.

Imaginemos que tenemos un servidor SSH situado en el propio router o en un servidor de la LAN y queremos utilizarlo de túnel para posteriormente conectarnos a nuestro servidor objetivo que únicamente tiene conexión local. En el siguiente esquema se puede comprobar cómo estaría instalado esta red que os comentamos:

  • El usuario se intenta conectar al SERVIDOR 2 (IP: 192.168.1.3 y puerto 22 abierto de forma local). Esta conexión no se puede realizar porque no tenemos un puerto abierto hacia este servidor, es decir, únicamente se puede acceder a él vía LAN.
  • Usando el SERVIDOR 1 que sí tiene acceso a Internet y nos podemos conectar vía SSH, estableceremos un túnel para posteriormente conectarnos al SERVIDOR 2 como si estuviera accesible desde Internet.

Esta arquitectura también podría darse si el router incorpora un servidor SSH, en este caso no necesitaríamos el SERVIDOR 1 como “pasarela”.

Vamos a utilizar el programa para Windows WinSCP para conseguir realizar esta conexión, debemos advertir que Putty o Kitty dispone de más opciones avanzadas como por ejemplo realizar varios saltos de SSH hasta llegar a nuestro objetivo, WinSCP sólo permite un único salto.

winscp_ssh_tunneling_esquema

Lo primero que tenemos que hacer es descarganos WinSCP desde la página web oficial, este software es gratis y nos permitirá transferir archivos de forma totalmente gráfica a través de SFTP y SCP, por lo que es una muy buena alternativa a las típicas órdenes de un terminal. La pantalla principal de WinSCP es la siguiente, para poder realizar SSH Tunneling y conectarnos a un servidor remoto debemos pinchar en “Opciones avanzadas” para tener acceso a opciones adicionales de configuración.

winscp_ssh_tunneling_windows_1

En el apartado “Conexión/Tunel” tendremos que configurar el acceso al servidor SSH alcanzable, es decir, al SERVIDOR 1 en nuestra arquitectura de red. Deberemos introducir la dirección IP pública del servidor remoto así como el puerto, usuario y clave de acceso. WinSCP permite la conexión a través de una clave privada RSA/DSA por lo que también tendremos disponible esta opción.

Nota: Si estamos conectándonos al SERVIDOR 1 y este actúa como puerta de enlace, deberemos introducir una IP privada, la de la propia puerta de enlace.

Una vez que hemos introducido los datos, debemos pinchar en “Guardar” para usar esta conexión posteriormente.

winscp_ssh_tunneling_windows_2

Una vez que hemos rellenado lo anterior, en el apartado “Sesión/Sesiones” hacemos doble click al perfil que hemos guardado anteriormente para cargarlo como conexión de primer salto. En la pantalla se sesión introduciremos la dirección IP, puerto y credenciales de acceso al SERVIDOR 2. Al hacer una conexión a través del SERVIDOR 1, podremos poner sin problemas un direccionamiento privado, es decir, podremos poner 192.168.1.3 que corresponde al SERVIDOR 2 dentro de la red local a la que hemos accedido.

Una vez rellenado todo pinchamos en “Conectar” y nos conectaremos al SERVIDOR 2 a través de la conexión SSH del SERVIDOR 1.

winscp_ssh_tunneling_windows_3

En la siguiente captura de pantalla del log de conexión se puede comprobar los siguientes aspectos:

  • Abrimos el túnel y nos autenticamos correctamente en el servidor SSH del SERVIDOR 1.
  • Una vez establecido el túnel nos conectamos con el servidor, que en el caso del ejemplo tiene dirección IP privada 10.10.2.14 pero que podría ser la 192.168.1.3 del SERVIDOR 2 perfectamente. Como véis, hemos usado una IP privada ya que una vez creado el túnel es como si estuviéramos en la propia red local.

winscp_ssh_tunneling_windows_4

Hasta aquí hemos llegado con nuestro manual de cómo hacer un SSH Tunneling con WinSCP para acceder a servidores remotos que no estarían accesibles a través de Internet, pero que sí lo están a través de la propia red local.

Publicado por Sergio De Luz el 08 Febrero 2015 , actualizado el 16 Junio 2017

Últimos análisis

Valoración RZ
9
Valoración RZ
9
Valoración RZ
10
Valoración RZ
9
Valoración RZ
10
Valoración RZ
7
Valoración RZ
9
Valoración RZ
10
Valoración RZ
8
Valoración RZ
10