…o cómo utilizar nuestra conexión SSH para acceder a cualquier máquina:puerto al que tenga acceso el servidor remoto.

Os comento una situación típica:

Disponemos de un acceso SSH al servidor Asterisk de un cliente para su mantenimiento. Por el motivo que sea, necesitamos acceder a otros puertos de la misma máquina o de otras conectadas al servidor. En este caso, necesitamos conectarnos a la administración web de un teléfono IP Linksys.

Si no tenemos acceso por VPN o posibilidad de realizar NAT desde el router/firewall, podemos utilizar el túnel SSH para acceder a este puerto.

Vamos a indicar cómo hacerlo utilizando el programa PuTTy (sobre Windows):

  1. Ejecutamos PuTTy y seleccionamos la sesión a utilizar
  2. En el menú de la izquierda nos dirigimos a: Connection->SSH->Tunnels
  3. Añadimos un nuevo puerto (”Add new forwarded port”):
      • Source port: Puerto al que conectaremos desde nuestra máquina
      • Destination: IP_REMOTA:PUERTO_REMOTO
      • En las opciones, dejar “Local” marcado
      • Presiona “Add” para añadir el túnel
  4. Volvemos a “Session”, pudiendo salvarla con el nuevo puerto, y presionamos “Open” para conectar
  5. Inicia sesión en el servidor remoto

Con estos pasos cumplimentados, ya disponemos del túnel.

El túnel lo que hace es un reenvío desde nuestra propia máquina hacia la remota (como un NAT). Por lo tanto, para acceder al puerto, como IP utilizamos “127.0.0.1″ o “localhost”.

Si el puerto es el 80 para acceder a la administración web del teléfono Linksys, por ejemplo, podríamos acceder a ella poniendo la siguiente dirección en nuestro explorador:

http://localhost:80 (o http://localhost/)