viernes, 10 de abril de 2009

Tunel SSH inverso

Bueno ya esta! lo consegui!

Paso a explicar como realizar una conexion ssh a travez de un tunel inverso que escucha en un puerto (para este caso ej. port: 10000) para conectarnos a pcs que estan detras de un modem, router, firewall AL QUE NO PODEMOS ACCEDER PARA MODIFICAR CONFIGURACIONES!.

se van a ver involucradas 3 pcs para el ejemplo

pc1 >maquina donde estoy sentado y quiero realizar la conexion ssh a otra pc.
pc2 > maquina a la cual quiero acceder via ssh (y no tiene salida web a ssh)
pc3 > maquina que tiene acceso via ssh desde la web port 22

Paso1: En la maquina PC2 debemos ejecutar:

ssh -R 10000:localhost:22 user@ip
(aca el user ip son los de la maquina PC3)

Paso2: Luego en la maquina que estamos sentados PC1 ejecutamos una conexion ssh de esta manera:

ssh user(PC2)@ip(PC3) -p 10000

IMPORTANTE si al hacer la conexion nos dice "CONECTION REFUSED"

entonces en lugar del paso 2 hacemos:
ssh user@ip (de la PC3)
y luego cuando estamos conectados ejecutamos

ssh user(PC2)@localhost -p 10000

y listo estamos conectados via ssh a la maquina que no teniamos acceso.

Nota, en el caso que la PC1 tenga acceso via web ssh, entonces podemos remplazar a PC3 por PC1 y solo necesitamos 2 pcs

gracias al blog de http://diariolinux.com/2008/03/22/tunel-inverso-ssh/ que me enseño a hacerlo :P