En ciertas situaciones podemos necesitar navegar por internet a través de un tunel SSH en lugar de nuestra propia conexión a internet o de una VPN o similar. En mi caso la mayoría de las veces que he necesitado esta configuración ha sido simplemente para "salir a internet" desde otro ordenador distinto al que estoy usando para tener una IP diferente y/o una conexión cifrada. Esto puede ser útil -entre otras cosas- para saltarse algunas restricciones a la navegación que no mencionaré aqui (guiño guiño).
Prerequisitos:
- Tener instalado PuTTY
- Tener acceso por SSH a un servidor remoto con salida a internet.
- Tener instalado un navegador Firefox o Chrome (o derivado).
- Opcionalmente, tener instalada en el navegador la extensión FoxyProxy Basic.
Los pasos a seguir son los siguientes:
-
Abrimos PuTTY y creamos una nueva conexión SSH con la IP/puerto del servidor remoto. En el panel izquierdo seleccionamos el menú Connections > SSH > Tunnels y marcamos las casillas Auto y Dynamic. Después en Source port introducimos un numero de puerto a nuestra elección (por ejemplo 4321) y pulsamos Add para que se añadan esos valores. Ahora en el panel izquierdo volvemos al menú Sessions y guardamos los cambios pulsando el botón Save. En este punto ya podremos probar si la conexión SSH funciona correctamente intentando acceder al servidor remoto mediante PuTTY.
-
Ahora abrimos el navegador e instalamos (si no lo hemos hecho ya) la extensión FoxyProxy Basic. La ventaja de usar esta extensión es que permite guardar los datos del tunel entre sesiones de navegación (para poder usarlos otras veces de ser necesario), y alternar facilmente entre navegación con o sin tunel.
-
Dentro de las opciones de la extensión accedemos al menú Proxies y pulsamos el botón Añadir para añadir una nueva conexión. Le asignaremos un nombre descriptivo como "Tunel SSH" o similar, y en el campo Tipo especificaremos SOCKS5. En el campo Hostname pondremos localhost, y en Puerto escribiremos el número de puerto asignado anteriormente (en nuestro caso, 4321).
-
Ahora por comodidad colocaremos un acceso directo a la extensión en la barra de herramientas de navegación para tenerla siempre a mano, y ya podremos activar/desactivar el tunel a voluntad con un par de clics:
- ¡Y ya está! Si queremos probar el funcionamiento correcto del tunel podemos hacerlo comprobando la dirección IP con la que accedemos habitualmente a internet (con el tunel "cerrado") visitando la página whatismyip.com y fijándonos en nuestra dirección IP. Luego en PuTTY abrimos la conexión SSH con el servidor remoto (y la dejamos abierta en segundo plano), y en el navegador usamos la extensión FoxyProxy Basic para cambiar al proxy que hemos creado anteriormente (llamado "Tunel SSH"). Ahora al volver a visitar la web whatismyip.com deberíamos de poder observar como la dirección IP ha cambiado, lo que nos confirma que estamos navegando a través del tunel.