Ya hable de los tuneles SSH locales donde puedes conectarte a servicios que estan detras de un firewall y/o para usar cifrado, ahora vienen los tuneles SSH remotos.
En que situacion se pueden usar?
Tu necesitas conectarte a un computador, pero no puedes conectarte directamente a el porque esta dentro de una red local y no puedes (o no quieres) abrir puertos, pero desde el computador remoto si pueden conectarse a ti.
LOCAL ———————-X———————–> REMOTO
<———————————————-
Como abrirlo y usarlo en Windows
Con el programa puTTY desde el computador remoto
Y luego el tunel
Donde:
- Source port: es el puerto que se habilitara en el computador local para conectarse al…
- Destination: …host especificado aqui
- Marca en Remote, despues en Add y finalmente en Open para iniciar la conexion
En el ejemplo use el servidor SSH, asi que luego de abrir la conexion en el computador local puedo conectarme a localhost puerto 15000 y asi tener acceso al SSH remoto.
Como abrirlo en Linux
Ejecutar en el computador remoto
ssh –R<source port>:<host destino>:<puerto destino> user@host
Y para usarlo, en el computador local
ssh user@localhost –p <source port>
Donde <source port>, <host destino> y <puerto destino> es lo mismo explicado en la parte de Windows
Los tuneles SSH ademas de hacer de tuneles locales, tuneles remotos (inverso), tambien sirven como proxy SOCKS para pasar trafico HTTP o de otro tipo encriptado a traves del servidor SSH
LOCAL ——–> SERVIDOR SSH ———> HOST FINAL
Iniciarlo en Windows
Solo llena el source port que sera el puerto donde estara activo el proxy en tu PC y marca en Dynamic.
Iniciarlo en Linux
ssh usuario@host –D15000
Donde 15000 es el puerto local, puedes cambiarlo por cualquier otro > 1024
Usar el proxy
Configura el navegador para use localhost:15000 como proxy SOCKS, los demas campos dejalos en blanco
Al navegar veras en la ventana de estado de PuTTY la actividad del proxy, y si usas Ubuntu con el parametro –v (verbose) podras ver la actividad
Importante: Las consultas DNS se envian directamente, no pasan por el proxy SOCKS asi que si quieres evitar eso debes tomar medidas adicionales.
Tambien sirve para programas P2P para saltar los bloqueos y conectarte a traves del servidor SSH de tu casa por ejemplo

Un tunel SSH es una conexion SSH regular que además puedes pasar datos a través de ella de forma segura, por ejemplo si tienes un servidor VNC, puedes conectarte al SSH y que rediriga un puerto de tu PC a traves del SSH y alla al servidor VNC
[CLIENTE] <---- TUNEL SSH (INTERNET) ----> [SERVIDOR SSH] <-- LAN O INTERNET --> [SERVIDOR VNC]
Ahora como abrir el tunel
Si estas desde Ubuntu u otra distro de linux
ssh -L<puerto local>:<direccion remota>:<puerto remoto> [user@]servidor [-p <puerto>]
Donde:
- puerto local es el puerto que se activa en tu pc, en el ejemplo del servidor VNC debes abrir el cliente VNC y conectarlo a localhost:puerto local, el cliente SSH lo manda al servidor SSH y luego éste a la direccion remota:puerto remoto.
- direccion remota la direccion del servidor al que te vas a conectar (la direccion desde la ubicacion del servidor, si esta en el mismo equipo que el servidor debe ser localhost).
- puerto remoto el puerto remoto (obvio xD), si es VNC es 5900, Terminal Server 3389, etc…
- Lo que esta entre corchetes es opcional, y puerto es el puerto del servidor SSH.
Y si usas Windows
Con el programa puTTY en la seccion Tunnels pone el puerto local en Source Port, y el lugar a redirigir en Destination, luego presiona Add. Al terminar presiona en Open para iniciar la conexión.
Comentarios recientes