Supongamos que tienes la siguiente situación:
– Un ordenador (cliente) con acceso a internet, pero situado trás un router ó firewall que impide el acceso desde el exterior a dicho ordenador. Podría ser el ordenador de tu oficina, de un centro de trabajo ó una biblioteca. Desde este ordenador cliente puedes conectar via SSH con el ordenador de tu casa (servidor) pero no a la inversa.

¿Como acceder desde tu casa (servidor) al ordenador de tu oficina (cliente) para consultar los documentos que tienes allí guardados? La tuneladora de SSH es tu amiga.
Básicamente un tunel ssh lo que hace es enlazar un puerto en el ordenador servidor (tu casa) con el puerto a través del cual sale el ordenador cliente (trabajo), de la siguiente manera.ssh -o TCPKeepAlive=yes -R 6666:localhost:22 usuario-servidor@servidor
Esto abriría un tunel entre el puerto 6666 de tu casa y el puerto SSH (22) del cliente. Ahora para acceder de forma remota al ordenador cliente desde el servidor de tu casa bastaría con ssh usuario-cliente@localhost -p 6666
Esto funcionará hasta que el ordenador cliente se reinicie ó se corte la comunicación ssh con el servidor. Para restaurar el acceso desde el servidor al cliente es necesario volver a repetir el proceso para generar de nuevo el tunel de comunicación ó bien crear un script que se encargue de hacerlo al iniciarse la maquina cliente ó que desde crontab mantenga la conexión levantada.
Para hacer esto, previamente tenemos que haber configurado ssh para permitir que cliente se conecte al servidor sin solicitar contraseña mediante el uso de un archivo de clave. Sigue leyendo…