systemadmin.es > Utilidades > Añadir o quitar túneles a una conexión SSH ya establecida

Añadir o quitar túneles a una conexión SSH ya establecida

Entre las secuencias de escape de SSH tenemos ~C que permite añadir o quitar túneles para una conexión ya establecida.

Anteriormente ya hemos visto los tipos túneles que se pueden definir con SSH:

  • Túnel directo:
    -L [bind_address:]port:host:hostport
    
  • Túnel inverso:
    -R [bind_address:]port:host:hostport
    
  • Dinámico (SOCKS):
    -D [bind_address:]port
    

Una vez establecida la sesión resulta molesto tener que salir de ella para añadir o quitar algún puerto. Mediante la shell que obtenemos mediante el secuencia de escape ~C podemos gestionarlos:

[jordi@systemadmin.es ~]$ 
ssh> ?
Commands:
      -L[bind_address:]port:host:hostport    Request local forward
      -R[bind_address:]port:host:hostport    Request remote forward
      -D[bind_address:]port                  Request dynamic forward
      -KR[bind_address:]port                 Cancel remote forward

Simplemente indicando el nuevo túnel podemos añadirlo:

ssh> -L1234:10.10.10.10:22  
Forwarding port.

Mediante la secuencia ~# podremos comprobar que esta establecido el túnel (si tienen algun flow creado):

[jordi@systemadmin.es ~]# ~#
The following connections are open:
  #0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cfd -1)
  #2 direct-tcpip: listening port 1234 for 10.10.10.10 port 22, connect from 127.0.0.1 port 51360 (t3 r-1 i0/0 o0/0 fd 8/8 cfd -1)

Y lo mismo para un túnel inverso:

[jordi@systemadmin.es ~]$
ssh> -R2222:172.16.1.1:25
Forwarding port.

Podremos cancelar el túnel con la misma secuencia de escape y la opción -KR con el puerto de destino:

ssh> -KR25

Deja un comentario:

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