Todo empieza una fria mañana de verano… jaja noooo, mentira !

Como fiel Linuxero que soy, siempre que haya internet necesito una conexion ssh a “mi servidor”, el problema lo tuve en la facultad; me conecto a la red wifi de la misma y veo que hay un proxy transparente ( Squid ) el cual no deja pasar conexiones a puertos que no sean 80 y 443; a parte bloquea varias paginas.

La solución que se me ocurrio para las paginas fue usar Tor ( encapsula el trafico por ssl y a parte nos asegura una navegacion anonima ), listo… consegui mi conexion “libre” a internet, paso siguiente fue el ssh… no andaba. Entonces tuve la idea de pasar el tunel ssh por tor…

1ro Instalar privoxy ( el proxy que vamos a usar para interconectar tor con el navegador )

  • Debian/Ubuntu: apt-get install privoxy
  • Otros:
    • Download: https://sourceforge.net/projects/ijbswa/files/
    • Documentacion: http://www.privoxy.org/user-manual/index.html

2do Instalar Tor

  • Debian Sid: apt-get install tor
  • Otros:
    • Donwload: http://www.torproject.org/download-unix.html.es
    • Documentacion: http://www.torproject.org/documentation.html.es
    • Requerimientos: libevent-dev y libssl-dev
    • Pasos: ./configure && make && make install
    • Instalación por default de binarios: /usr/local/bin

3ro Configurar privoxy para que salga por Tor por medio de Socks5

  • Editar el archivo /etc/privoxy/config
    • Agregar: forward-socks5 / localhost:9050 .
    • Reiniciar privoxy: /etc/init.d/privoxy restart

Extra:

  • Recomiendo instalar Torburron ( add-on de Mozilla Firefox ) para no tener que estar configurando y desconfigurando el navegador cada vez que necesitemos usar Tor
  • Información de proxy para las aplicaciones:
    • Proxy http, https (ssl): 127.0.0.1 puerto 8118
    • Proxy socksV5: 127.0.0.1 puerto 9050

— Hasta aca, la navegacion —

4to Buscar en google y encontrar esta pagina

5to Poner a funcionar lo que encontre

  • Necesitamos bajar el archivo connect.c
    • Compilamos: gcc -o /usr/local/bin/connect connect.c
      • El binario queda en /usr/local/bin/
    • Cambiamos los permisos, para que sea ejecutable: chmod 755 /usr/local/bin/connect
    • Cambiamos el dueño y grupo ( a root ): chown root.root /usr/local/bin/connect
  • Y ahora la magia del comando ssh: ssh -l [USUARIO] -2 [IP_SRV] -p [PORT_SRV] -o ProxyCommand=”/usr/local/bin/connect -4 -S localhost:9050 %h %p”
    • [USUARIO]: Usuario de ssh
    • [IP_SRV]: Ip del servidor ssh ( puede ir el nombre )
    • [PORT_SRV]: numero de puerto donde corre el sshd ( el default, como ya tendrian que saber, es el 22 )

6to Disfrutamos de nuestra conexion libre :)

La explicación ( sumamente basica ):

  • Lo que hacemos es hacer que nuestro trafico ( ya sea de navegación, como ssh, o cualquier otro ) salga por Tor, este mismo nos encapsula todo el trafico utlizando SSL y el puerto 443; lo que hacemos con el tema del tunel ssh, es meterlo a dentro de la encripción que genera Tor.. asi de simple :) Lo maravilloso de todo esto, es que nadie que este en el medio puede ver lo que estamos haciendo, y el destinatario no puede saber tampoco de donde venimos ;) ;)
Clip to Evernote