jueves, 16 de agosto de 2007

tunneling over ssh

No es nada que no se pueda encontrar leyendo el man de ssh pero sirve para recordarlo.
Sabía que se podía hacer un tunel sobre ssh para acceder a otros puertos/servicios dentro del servidor de destino, pero nunca había probado tratar de acceder a servicios corriendo en maquinas que pertenecían a la red local detrás de ese servidor.

En escencia lo que logramos es evitar cargar reglas para el forward con iptables o similares y poder levantar servicios externamente que no estén visibles normalmente (incrementando la seguridad) a través de un medio encriptado.

bueno.. acá va la papa:

ssh -C -N -L [bindaddress:]port:host:porthost servidor

donde -C indicará que comprima, -N que no se van a ejecutar comandos en "host", -L que haga el tunel en el servidor de destino

Siendo

bindaddress: opcional para indicar a que ip se realizará el tunel (normalmente si no se especifica es 127.0.0.1)
port: el puerto local donde esuchará el servicio una vez establecido el tunel
host: la ip de la maquina destino detrás del servidor al cual estamos accediendo
porthost: es el puerto del servicio que corre en la maquina a la cual queremos acceder
servidor: la ip del servidor publico


y bueno .. eso es todo