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.

Publicado el 14 de Octubre de 2013
Compartir

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.


Compartir este post

También te puede interesar...

Tecnología

9 razones por las que debes utilizar Linux

05 Enero 2016 Esaú Abril Nuñez
SSH

SSH: imprescindible en tiempos modernos

3 horas y 2 minutos · Curso

Aprende mediante la práctica el manejo de ssh, comprendiendo cómo funciona el protocolo y la forma de gestionar adecuadamente las claves para una gestión ágil …

  • Redes
Tecnología

Crear un tunel con SSH Socks

10 Agosto 2018 Antonio Sánchez
Artículos
Ver todos