miércoles, 1 de agosto de 2012

[Ubuntu] SSH transparente a través de un proxy socks creado con ssh tunneling

Bueno, el titulo puede llevar a confusiones, ademas de ser demasiado largo, así que me explicaré.
Hoy veremos como configurar nuestro SSH para que utilice un proxy socks, en este caso el proxy socks es un ssh realizado a una maquina que hace de puente con otra red:


                                                                     
SSH transparente     == Tunel SSH =>     Servidor SSH       ===>      Servidor Remoto  
Maquina local                                            Red remota                          Red remota    



En mi caso es muy útil para conectarme a las maquinas remotas de otra red de una manera transparente.

Lo primero será conectarnos a la maquina remota que nos hara de proxy socks:


keteflips@TALYN ~ $ ssh -D localhost:1080  usuario@servidorssh_proxy
  • -D ==> Parametro para realizar un mapeo de puertos dinámico
  • :1080 ==> El puerto utilizado comúnmente para un proxy socks
  • usuario@servidorssh_proxy ==> No creo que haga falta explicarlo

Ahora ya tenemos el servidor proxy que nos permitirá acceder a la red remota.
Nos toca instalar los paquetes necesarios para que el cliente ssh se conecte de manera transparente a las maquinas de al red remota.


keteflips@TALYN ~ $ sudo apt-get install connect-proxy


Después configuramos el cliente ssh para que se conecte a las maquinas del dominio de la red remota usando el proxy socks.
Para ello editamos el fichero de tu home ~./ssh/config, si el fichero no existe lo creamos, y le añadimos estas lineas:

Host *dominio_red_remota*
ProxyCommand connect-proxy -R both -S localhost:1080 %h %p

Host:  Cadena que buscará para determinar si se usa o no el proxy.
ProxyCommand: Comando que queremos que ejecute:  


  • -R    ==> Como resuelve los nombres, en este caso both, primero buscara en local y luego en remoto.
  • -S    ==> Indicamos que es un proxy socks y le pasamos host:puerto.
  • %h  ==> Host.
  • %p  ==> Puerto.


Ya esta, fue fácil ;)
Ahora si nos queremos conectar a un servidor remoto solamente debemos ejecutar el ssh añadiendo el dominio de la red remota:


keteflips@TALYN ~ $ ssh usuario@maquina.dominio


y se nos conectará de manera totalmente transparente a esta maquina.


Saludos.




No hay comentarios: