systemadmin.es > Seguridad > Tipos de túneles SSH

Tipos de túneles SSH

Una de las grandes características de ssh son los túneles. Los podemos hacer tanto directos (un puerto local a un puerto del lado remoto) como inversos (un puerto remoto a un puerto del lado local). Vamos a ver como utilizarlos.

Ejemplo de túnel ssh

Ejemplo de túnel ssh

En el caso del túnel permite que un determinado puerto en el lado local se reenvíe a un host y puerto del lado remoto. Su sintaxis es:

-L [bind_address:]port:host:hostport

Un ejemplo podría ser:

remoto# ssh -l jordi edge.systemadmin.es -L2222:interno.systemadmin.es:22

Mediante este comando podemos crear un túnel que permita desde la maquina remoto.systemadmin.es conectar a interno.systemadmin.es a través de edge.systemadmin.es (imagen anterior). De esta forma podemos saltarnos las restricciones del firewall haciendo pasar la conexión por otra maquina a la que sí tenemos acceso. Para conectar desde edge.systemadmin.es a interno.systemadmin.es haríamos:

edge# ssh -l jordi localhost -p 2222

En el caso de un túnel inverso su sintaxis es similar:

-R [bind_address:]port:host:hostport

Permite que un determinado puerto en el lado remoto se reenvíe a un host y puerto en el lado local. Por ejemplo, desde la maquina interno.systemadmin.es conectamos a externo.systemadmin.es con un túnel inverso a localhost en el puerto de ssh:

interno# ssh -l jordi externo.systemadmin.es -R 2222:localhost:22
Ejemplo de túnel ssh inverso

Ejemplo de túnel ssh inverso

De esta forma desde externo.systemadmin.es conectando a localhost:2222 pasamos por el túnel establecido y nos podemos conectar por ssh a interno.systemadmin.es. De esta manera podemos saltarnos el firewall y acceder a sistemas internos desde maquinas externas.

En el caso del ejemplo, para conectar desde externo.systemadmin.es a interno.systemadmin.es usando el túnel usaríamos el siguiente comando en externo.systemadmin.es:

externo# ssh -l jordi localhost -p 2222

Para evitar problemas con el fingerprint podemos crear alias en el fichero /etc/hosts de 127.0.0.1, con lo que guardaremos para cada sistema sus claves aúnque sea atraves de un túnel ssh:

127.0.0.1       localhost valls interno stargate tricia

2 comments to “Tipos de túneles SSH”

  1. [...] Túneles ssh. Sucinto y muy práctico, como casi todo lo que publican en systemadmin.es ¡Nos van a mal acostumbrar! [...]

  2. Tengo una duda, he tratado de hacer el tunel , usando como intermediario una shell gratuita(shell.cjb.net), y el problema radica en el intermediario, no permite conexiones entrantes desde el exterior. ¿cómo se puede resolver ese problema?,¿es necesario contratar un VPS?

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>