Todas las versiones de este artículo: English | فارسى | русский | 中文 | عربي | Burmese | Tiếng Việt

SSH Tunneling

SSH (Secure Shell), es un protocolo estándar que encripta las comunicaciones entre la computadora y el servidor. La encripción impide que estas comunicaciones sean vistas o modificadas por los operadores de red. SSH puede ser usado por una gran variedad de aplicaciones de comunicaciones seguras, donde lo más común es el acceso seguro a los servidores y la transferencia de ficheros segura (SCP o SFTP).

SSH es especialmente útil para evadir la censura porque puede proveer túneles encriptados y trabajar como un cliente Proxy genérico. Los censores normalmente no bloquean completamente el SSH porque se usa para muchos propósitos y no solo para evadir la censura; por ejemplo, es usado por los administradores de sistema para administrar sus servidores en Internet.

Usar SSH requiere de una cuenta en un servidor, generalmente un servidor Linux o Unix. Para evadir la censura este servidor necesita tener acceso sin restricciones a Internet e, idealmente ser operado por un contacto confiable. Algunas compañías también venden cuentas en sus servidores, y muchos sitios de hosting brindan acceso SSH. Se puede encontrar una lista de proveedores de cuentas en: http://www.google.com/Top/Computers/Internet/Access_Providers/Unix_Shell_Providers/ que vende cuentas entre los 2 y 10 USD por mes.

Un programa SSH llamado OpenSSH viene instalado en la mayoría de los Unix, Linux y Mac OS y consiste en un programa de líneas de comando ejecutado desde un terminal como “ssh”. Para Windows también se puede obtener una implementación SSH llamada PuTTY.

Todas las versiones recientes que soportan SSH crean un proxy SOCKS que permiten que un navegador Web y otras variedades de aplicaciones usen conexiones SSH encriptadas para conectarse con Internet sin restricciones. En este ejemplo, solo describiremos este uso de SSH. Los pasos a continuación configuran un Proxy SOCKS en un puerto local 1080 en la computadora usando una cuenta shell llamada accountname@example.com.

Línea de comando de Linux/Unix y Mac OS (con OpenSSH)

OpenSSH está disponible en http://www.openssh.com/, pero viene pre instalado en Linux/Unix y Mac OS. Se necesita una cuenta shell en un servidor con conexiones a Internet sin restricciones.

resized_640x218_ssh_1

El comando ssh que se ejecutará contiene un puerto local (típicamente 1080), un nombre de servidor y un nombre de usuario (nombre de cuenta). El comando sería así:

ssh -D puertolocal nombredecuenta@nombredeservidor

Se pedirá la contraseña y se entrará en el servidor. Con el uso de la opción –D, se creará un Proxy SOCKS que existirá mientras se esté conectado al servidor. Después de verifica la llave del host y se configuran las aplicaciones.

Interfaz de usuario gráfica para Windows (con PuTTY)

PuTTY está disponible en: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Podemos salvar el programa putty.exe en el disco duro para usos futuros, o ejecutarlo directamente desde el sitio Web (a menudo, esto es posible en una computadora compartida o con acceso público como las de las librerías o Cyber cafés).

Cuando iniciamos PuTTY, aparece un diálogo de configuración de sesión. Primero entramos el nombre (dirección) del servidor SSH al que queremos conectarnos (aquí, "ejemplo.com"). Si solo conocemos la dirección IP o si el DNS impide usar el nombre de los servidores, podemos usar la dirección IP. Si ejecutamos estos pasos frecuentemente, podemos crear opcionalmente un perfil PuTTY para salvar estas opciones que se describen anteriormente para usarlas cada vez que se necesiten.

PuTTY_config_1

Después en la lista, Category, seleccionamos Connection, después SSH, y después Tunnels.

Entramos 1080 como Source port, y seleccionamos las cajas "Dynamic" y "IPv4".

PuTTY_config_2

Ahora hacemos clic en el botón Add y después en el botón “Open”. Se establece una conexión con el servidor, y se abre una ventana pidiendo el nombre de ususario y la contraseña. 

example_com___PuTTY__2008_11_12__22_30_28

Entramos la información y accederemos al servidor recibiendo una ventana de línea de comando del servidor. Entonces queda establecido el Proxy SOCKS. 

accountname_example_com_____2008_11_12__23_51_32_1

Verificación de llave de Host

La primera vez que nos conectamos a un servidor, debemos confirmar la firma digital llave de ese servidor. La firma digital llave es una secuencia larga de letras y números (hexadecimales) como 57:ff:c9:60:10:17:67:bc:5c:00:85:37:20:95:36:dd que identifica de forma segura a un servidor en particular.

Chequear la impresión digital llave es una medida de seguridad que permite confirmar que estamos comunicando con el servidor que pensamos, y que la conexión encriptada no puede ser interceptada. (SSH no brinda un medio de verificar esto automáticamente. Para obtener el beneficio de este mecanismo, debemos el valor de la firma digital del servidor con el administrador del servidor que estamos usando, o pedirle a un contacto de confianza que intente conectarse al mismo servidor para ver si ve la misma firma digital).

Verificar la firma digital es importante para asegurarnos que SSH protege la privacidad de las comunicaciones de la curiosidad de algunos, pero no es necesario si solo deseamos evadir la censura y no nos importa si los operadores de redes pueden ver el contenido de las comunicaciones.

Configurando aplicaciones para usar el Proxy

El Proxy creado en los pasos anteriores debe trabajar hasta que se cierre el programa SSH. Sin embargo, si se interrumpe la conexión al servidor, se necesitará repetir los mismos pasos para reactivar el Proxy.

Una vez que el Proxy esté ejecutándose, necesitamos configurar las aplicaciones para usarlo. Para ello veremos los pasos a continuación, el Proxy será un Proxy SOCKS localizado en localhost, puerto 1080 (también conocido como 127.0.0.1, puerto 1080). Debemos asegurarnos que las aplicaciones estén configuradas de forma que impida la fuga de DNS, lo que puede hacer menos efectivo a SSH en cuanto a protección de privacidad y evasión de censura.

Autores : SSHTunnelling
© Seth Schoen 2008
Modifications:
adam hyde 2008

Ariel Viera 2009
Alice Miller 2008
Freerk Ohling 2008, 2009
Sam Tennyson 2008
TWikiGuest 2008
Tom Boyle 2008
Tomas Krag 2008
Zorrino Zorrinno 2008



License : General Public License

Produced in FLOSS Manuals

 

READ & DOWNLOAD the manual in other languages >>

  • HOW TO BYPASS INTERNET CENSORSHIP by FLOSS Manuals Community Members

    Inform yourself on how Internet censorship works and how to route around it with free software. Includes an excellent overview of the techniques and tools for beginners and advanced users.
    Paperback book: €11.53,

    available on Lulu.com
  • HOW TO BYPASS INTERNET CENSORSHIP - supplement for proprietary software by Sesawe

    Paperback book: €5.05,

    available on Lulu.com