Вы находитесь на странице: 1из 2

Múltiples Saltos utilizando túneles SSH

Un multi salto ssh simplemente es encadenar varios túneles ssh, que por motivos
de seguridad o falta de accesos públicos necesitamos pasar por algún servidor
intermedio que nos permita la conexión a nuestro objetivo.

Consideremos la siguiente situación:


Necesitamos visualizar un servicio web privado o algún servidor de base de datos
como postgres, pero nuestra maquina local no puede acceder directamente a ese
servidor(Host Objetivo) pero si contamos con un servidor(Host Intermedio) del cual
si podemos conectarnos a el, y el a nuestro Host Objetivo

En este caso queremos utilizar nuestro puerto 8888 para visualizar el puerto 80 de
nuestro Host Objetivo usando de intermediario el puerto 8080 de nuestro Host
Intermedio, a diferencia de utilizar túneles dinámicos que es necesario utilizar
SOCKETS, con esta alternativa puedes conectarte sin tener que configurar un proxy
para los navegadores por ejemplo.
Primero necesitamos entender la sintaxis de la conexión ssh

ssh -L<PUERTOLOCAL>:<IPlocal>:<puertoremoto> <usuario>@<IPremota>

A partir de lo anterior crearemos nuestro primer túnel:


ssh -L8888:localhost:8080 miusuario@189.232.40.xx

Luego de loguearnos necesitamos crear el segundo túnel ssh, esto ya es dentro de


la shell del servidor intermedio

ssh -L8080:localhost:80 miusuario2@10.20.20.xx

Con esto ya hemos logrado nuestra meta y facilmente podemos observar en


nuestro navegador utilizando:
http://localhost:8888

Frederick Mejia mrghostsv.blogspot.com mayo 2018


Ahora veamos un ejemplo con postgres

Creamos nuestro primer túnel ssh


ssh -L33033:localhost:28088 miusuario@189.232.40.xx

Luego de loguearnos, en nuestra shell del servidor intermedio creamos el segundo


túnel

ssh -L28088:localhost:5432 miusuario2@10.20.20.xx

Y ahora fácilmente podemos configurar nuestro cliente utilizando el puerto 33033 y


localhost como servidor de base datos.

Los túneles ssh son mas conocidos como vpn para pobres, ya que son la forma mas
simple de utilizar servicios dentro de otra red fuera de la nuestra, aunque con un
par de configuraciones en nuestro cliente ssh para evitar la desconexion por
inactividad podemos dejar la conexión “persistente”, editando nuestro archivo
/etc/ssh/ssh_config y agregando la linea SERVERALIVEINTERVAL 60
Y con un poquito de imaginación podríamos saltarnos las reglas del firewall solo
para aprendizaje por supuesto ;D

Frederick Mejia mrghostsv.blogspot.com mayo 2018

Вам также может понравиться