Conexiones ssh inversas
La situacion es la siguiente. Ayer por la tarde muuuy cerca de la hora de salida del trabajo, una “emergencia” surgio (claro, tipico para un viernes por la tarde). De manera urgente se necesitaba conectar una maquina (o deberia decir servidor?) a nuestra vpn. La maquina/servidor en cuestion es un Linux (CentOS para ser mas exactos) y esta maquina estaba conectada detras de un router. Procedi a crear las llaves para esta maquina y hacer accesible estos archivos a la persona en cuestion (la oficina remota esta en San Francisco y los headquarters de la compa~nia donde trabajo esta en Chicago).
Por IM le di instrucciones a la persona de que comandos utilizar para instalar openvpn en la maquina remota, donde colocar las llaves y el certificado y donde colocar el archivo de configuracion. Al momento de iniciar el servicio de openvpn le decia que le estaba marcando errores y que el tunnel no se podia conectar. Checando los logs en mi servidor de openvpn solo ve’ia la peticion de conexion pero no veia nada mas.
En ese momento lo mas facil para mi era que yo me conectara por ssh a su maquina, peeero, no lo podia hacer porque su maquina al estar detras de un router no tenia una IP publica a la que me pudiera conectar. Aqui es donde ssh entra al rescate.
Lo que hice fue crear un tunel inverso ssh para poderme conectar a su maquina. Este es el escenario

Entonces, lo que hice fue pedirle a la persona de San Francisco que se conectara a mi host publico por ssh, pero no una conexion ssh convencional de ssh usuario@host-publico, sino que le pedi que lo hiciera de la siguiente manera:
ssh -R 5555:localhost:22 -l usuario mi-host-publico
Lo que hace esto es que abre un tunel inverso a su maquina al puerto 22 escuchando desde mi host-publico en el puerto 5555. El siguiente paso es que yo me conecto al host publico por ssh con mi convencional
ssh usuario@mi-host-publico
Ya estando conectado a mi-host-publico lo unico que tengo que hacer para conectarme a su maquina es un
ssh -C -l usuario localhost -p 5555
Y esto va a abrir una conexion al puero 22 de la maquina remota, voial’a! Estoy conectado al host remoto de San Francisco.
Ya estando conectado al host remoto verifique la configuracion de su openvpn y para la no sorpresa mia, el archivo de configuracion tenia errores, los corregi, reinicie openvpn, tun0 up! liiiisto! 5:25 pm, hora de irme a casa. Si no hubiera sido por ssh -R hubiera pasado muchisimo mas tiempo en la oficina tratando de ayudar a este usuario linuxero/developer newbie a conectar esa maquina/servidor a nuestra vpn.
August 2nd, 2008 at 8:32 am
Muy interesante como siempre mi buen. Saludos
August 7th, 2008 at 5:09 pm
Maestra forma de usar el SHH
August 14th, 2008 at 9:35 am
es ud un fenomenal
salu2
August 18th, 2008 at 1:47 pm
muy bien muy bien. se ve que es cierto lo que dice el dmesg, que ya estan ambos al nivel.