Putty, cliente SSH para Windows, permite también mediante una adecuada configuración, atravesar un Proxy/Firewall que sólo permite tráfico http/https.
Tras una serie de pruebas previas, y con otras herramientas, como corkscrew, descrita en túnel hhtp con corkscrew, me he dado cuenta de que configurando la opción Proxy de Putty se consigue exactamente lo mismo, y es tunelizar la petición SSH (puerto 22) a través de HTTP/HTTPS, y por tanto evitando el bloqueo del Proxy/Firewall.
Una vez descargada la aplicación Putty, es necesario configurarla con los datos del servidor ssh al que accedemos (en este ejemplo mi proveedor de hosting, que me ofrece acceso ssh limitado) y los datos del Proxy/Firewall
1- Configuración de la sesión SSH
Indicamos el servidor al que nos conectaremos:
2- Configuración del Proxy
En la Categoría Conexión-Proxy introducimos los datos de nuestro Proxy. Es importante marcar la casilla HTTP (los datos pueden obtenerse fácilmente de la configuración del navegador de internet)
3- Conexión
Una vez configurado, nos conectamos (presionando el botón ‘Open‘), y accedemos sin problema al Servidor SSH:
4- Breve Análisis
Una captura del tráfico con la herramienta wireshark permite ver cómo se establece una conexión TCP con el Proxy (con el clásico 3-Way Hand-shake: SYN -> SYN/ACK->ACK), todas las IPs son privadas (10.X.X.X, pertenecientes ala LAN corporativa). Luego se produce la comuncación del protocolo de SSH pero ‘tunelizada’ a través del HTTP, como se ve en la captura del paquete (Nº7), ahí se desvela también la conexión con el proxy
Es muy interesante el estudio de las conexiones TCP que se realizan al lanzar Putty…
[…] Putty: SSH a través de un Proxy […]