Como crear un túnel SSH
SSH (Secure SHell) intérprete de comandos seguro – es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red.

El protocolo SSH se utiliza con frecuencia para tunelizar tráfico confidencial sobre Internet de una manera segura.
Ejemplo:
PC usuario se conecta y establece túnel SSH con el servidor SSH. Usuario quiere descargar el archivo proyecto.zip desde el servidor ftp://ejemplo.com. El servidor SSH se conecta con el servidor FTP con la clave proporcionada por PC usuario a servidor SSH bajo conexión segura y le devuelve el archivo a PC usuario.
Esto impide a terceros examinar el contenido de la trasmisión, algo posible si las comunicaciones se realizan en Internet.
También se puede usar para evitar los cortafuegos (firewalls). Simplemente se encapsula el protocolo HTTP o el protocolo bloqueado dentro de otro permitido.
Para realizar un túnel SSH hace falta:
· un servidor SSH
· Putty
Primero hay que crear la conexión con el servidor SSH, utilizando Putty:
Introducimos la IP o el hostname del servidor y el puerto (predeterminado 22), dejando marcado el tipo de conexión SSH.

Más abajo en Connection esta SSH y Tunnels:
En Source port hay que poner el puerto – 8080 por ejemplo; marcamos Dynamic y pulsamos Add.

Hecho esto ya podemos abrir la conexión.
Ahora, configuramos nuestro navegador para que se mediante el servidor SSH.
IE7:
Herramientas -> Opciones de Internet -> Conexiones -> Configuración de LAN:

Marcamos “Usar un servidor proxy para la LAN” y pulsamos en Avanzadas.

En Socks ponemos localhost: 8080 o el puerto elegido antes.

Se puede poner 127.0.0.1 o localhost.
Firefox:
Herramientas -> Opciones -> Avanzadas -> Red -> Configuración:

Marcamos “Configuración manual de proxy” y en ponemos 127.0.0.1 como Servidor SOCKS y el puerto elegido.

Como observación final, para los que no disponen de un servidor Linux, se puede utilizar el ordenador personal (de casa) instalando OpenSSH para Windows.
Comentarios
3 respuestas para “Como crear un túnel SSH”
Deja una respuesta





la verdad hay miles de forma de crear un tunel de conexion mejor si lo haces desde linux con una shell del sistema conectarse al servidor
ssh (secure shell) . con o sin proxy .
Estoy tratando de acceder a mi FTP privado desde el ordenador de mi empresa a través de un tunel SSH.
La conexión SSH la hace correctamente, me logueo y puedo ejecutar comandos sin mayor problema.
Ahora viene el kid de la cuestión: cuando trato de conectar al servidor FTP, no me consigue listar el directorio correctamente.
Paso a facilitar más detalles:
Sistema operativo del servidor: Windows Siete 64bit Enterprise.
El servidor SSH lo tengo a través de Cygwin, en el puerto 443.
Servidor FTP: G6FTP 3.10
Puerto del servidor: 21
Opciones activadas en el servidor ftp:
-redirect PASV IP: aquí pongo el nombre dns de mi ip
-passive port range: 50000 a 50010
Este ordenador utiliza un router como puerta de enlace a internet, cuyo modelo es el Conceptronic C150BRS4
La IP de este ordenador está detrás de DMZ, con lo que en teoría no es necesario mapear ningún puerto (en cualquier caso, también he probado a hacerlo sin DMZ y mapeando los puertos manualmente, como por ejemplo el 20, 21, 443, 50000, 50001…. 50010).
En el router también tengo NAT activado, y cualquier filtro de firewall desactivado.
Ahora vamos al cliente:
Sistema operativo: Windows XP Pro.
Sale a internet a través de un proxy ISA SERVER
El cliente SSH es el PUTTY, cuya configuración paso a detallar:
Hostname: La ip pública de mi casa, o el nombre DNS asignado por medio de dyndns.org
puerto: 443
proxy: direccion proxy de mi empresa, tipo HTTP, y su puerto (8080)
Tunnels:
-L21 minombredns:21
-L20 minombredns:20
-L50000 minombredns:50000
-L50001 minombredns:50001
-L50002 minombredns:50002
-L50003 minombredns:50003
…
-L50010 minombredns:50010
Tengo también marcadas las opciones “Local ports accept connections from other hosts” y “remote ports do the same”.
Bien, el caso es que se necesita una conexión FTP en modo PASV para poder conectarse a través de un tunnel SSH: ftp:\\localhost:21
He probado con el CUTE FTP en modo pasivo y funciona.
Mi intención es poder llevarlo a cabo con el Filezilla 3.3.3, ya que es la herramienta que utiliza la empresa y así evito tener que instalar software. Sin embargo, al tratar de conectar, recibo un “error recuperando el listado de directorio”.
He retoqueteado mil veces las opciones del cliente (modo pasivo y activo), y no hay forma.
También me interesa poder conectarme a través del explorer de windows,o el iexplore, pero obtengo los mismos resultados.
Sin embargo, con el firefox SÏ me deja conectar correctamente, pero una vez más, prefiero no tener que instalar aplicaciones y usar las corporativas (Internet explorer).
Agradecería infinitamente cualquier pista sobre cómo puedo resolver este problema, ya que llevo ya un par de semanas así y se me acaban las ideas.
He de decir que, obviamente, no tengo acceso a la modificación del proxy de la red mi empresa, y mis privilegios en el equipo cliente son muy limitados. Y, desgraciadamente, no puedo pedir dichos privilegios pues serán automáticamente denegados.
Como dato añadido, comentar que otras aplicaciones funcionan correctamente a través de túneles SSH, como por ejemplo, el VNC, y que el acceso a mi servidor ftp desde otro ordenador, sin tener que usar un tunel, también funciona correctamente.
Para cualquier otro dato que se necesite estaré atento para poder facilitarlo.
Un saludo, y gracias por adelantado…..
Funciona perfecto, mil gracias, aunque seria ideal hacerlo de alguna forma de no mostrar la ventana de la sesión abierta del putty.