OpenWebinars

Redes y Sistemas

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

Aprende en este artículo cómo realizar la conexión a un servidor mediante túnel inverso ssh, una herramienta sencilla pero de gran eficacia.

Esaú Abril Nuñez

Esaú Abril Nuñez

Lectura 2 minutos

Publicado el 14 de octubre de 2013

Compartir

    Tabla de contenidos

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 [email protected]

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 [email protected] -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.

Compartir este post

También te puede interesar

Icono de la tecnología
Curso

SSH

Intermedio
3 h. y 2 min.

Aprende mediante la práctica el manejo de ssh, comprendiendo cómo funciona el protocolo y la forma de gestionar...

Alberto Molina
4.5
Crear un tunel con SSH Socks
Blog

Crear un tunel con SSH Socks

Aprende paso a paso como crear de forma sencilla un túnel con SSH SOCKS mediante un ejemplo práctico.

Antonio Sánchez