Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Conexión a un servidor mediante túnel inverso ssh

Esaú A.
  • Escrito por Esaú A. el 14 de Octubre de 2013
  • 2 min de lectura | Linux
Conexión a un servidor mediante túnel inverso ssh

A la hora de administrar servidores u otros equipos con unas medidas de seguridad específicas que no se deben modificar, existen varias herramientas, pero ninguna tan simple y eficaz como el túnel inverso por ssh .

No se trata más que de una conexión entre equipos puerto a puerto mediante ssh, con la característica de que la petición principal la realiza la máquina a la que queremos tener acceso y no desde la que accederemos. ¿Que cómo? Pues supongamos que queremos acceder a un servidor, pero que ese servidor tiene por delante un router o firewall al que no tenemos acceso . Nosotros nos encontramos en la misma tesitura, nuestro router o firewall también bloquea las peticiones entrantes a cualquier puerto y de la misma forma nos es inaccesible . Con lo que sí contamos es con una tercera máquina a la que sí podremos acceder mediante ssh, lo que nos deja con la única solución de acceso al servidor desde el exterior mediante el túnel inverso ssh.

Lo que haremos para conectarnos a ese servidor, es establecer una conexión desde dicha máquina a aquel tercer equipo que dijimos sí teníamos acceso ssh, para luego conectarnos a ese equipo y enlazar indirectamente con el servidor desde nuestra ubicación, o cualquier otro equipo. Vamos con la configuración que quedará todo más claro.

Esta sería la configuración a establecer en el servidor al que queremos acceder:

ssh -R 16789:localhost:2222 usuario@servidor.o.ip

Aquí le especificamos que abra una conexión inversa (-R) al puerto 16789 del equipo al que sí podemos acceder vía ssh (localhost) mediante el puerto 2222 del servidor, con un usuario (usuario) determinado en, obviamente la dirección ip (@servidoroip) de esa tercera máquina.

Con esto configurado en el servidor, lo único que tendremos que realizar nosotros será una conexión ssh normal hacia el puerto 16789 de esa 'máquina puente' para que nos redirija mediante ese túnel inverso hacia el servidor.

ssh usuario@servidor.o.ip -p 16789

Y ya nos responde el servidor mediante la conexión que configuramos con la primera línea en el propio server.

Un último esquema para aclarar aún más la idea:

A = Desde donde conectaremos. B = Servidor al que queremos conectar. C = Equipo intermedio al que sí podemos acceder vía ssh.

ssh_reverso

B abrirá una conexión a C, con la que el puerto 2222 de B estará escuchando todo aquello que pase por el puerto 16789 de C. Luego nosotros desde A podremos conectarnos al puerto 16789 de C, con lo que indirectamente estableceremos conexión con el puerto 2222 de B, que es lo que queríamos desde un principio, y todo esto gracias al túnel inverso ssh.

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars