jueves, diciembre 28, 2017

Secuencias de escape de ssh

Cuando se está utilizando el cliente de ssh de manera interactiva y por tanto, su entrada y salida está conectada a un pseudoterminal, ssh es capaz de interpretar ciertos códigos de control para ejecutar algunas acciones. Por defecto el caracter de control que utiliza ssh es ~, que siempre debe ser introducido después de introducir una nueva línea - es decir, pulsar el enter. Tras él se puede introducir alguno de los caracteres de la siguiente tabla

~.Termina la conexión actual
~ˆZPasa a segundo plano el cliente ssh
~#Lista las conexiones
~&Pasa el ssh a segundo plano cuando se está esperando a que las conexiones que han sido tunelizadas por ssh
~?Muestra la ayuda
~BManda un BREAK al sistema remoto
~CAbre la línea de comandos que permite el control de las redirecciones de puertos.
~RRegenera la clave de sesión, si los extremos de la conexión soportan esta opetración
~VIncrementa el nivel de logs del cliente (equivalente a las opciones -v)
~vReduce el nivel de logs del cliente

El caracter que se usa para mandar la secuencia de escape puede cambiarse pasando en la línea de comandos -e o con la opción EscapeChar.

La opción más interesante que permite es ~C, ya que el cliente de ssh mostrará un prompt desde el cual se podrán gestionar los túneles que normalmente se lanzan en la línea de comandos, sin necesidad de salirnos de la conexión. Las opciónes que se permite son -L, -D o -R. De igual manera, se pueden cerrar los túneles si estas opciones se les pone el prefijo K, es decir -KL, -KD y -KR. Estas opciones se comportan igual que los parámetros que se le pasan a la línea de comandos de ssh. Por ejemplo, si se quiere redirigir el puerto local 5000 a la máquina remota 8443, se haría de la siguiente manera:

ssh> -L 5000:localhost:8443
Forwarding port.

El reenvío podría cancelarse con ayuda del comando -KL

ssh> -KL 5000
Canceled forwarding.

Si se está conectado a un sistema remoto, y se necesita mandar un BREAK, por ejemplo porque se está ejecutando un emulador de terminal conecvtado a la línea serie de la máquina remota, se puede usar ~B

No hay comentarios: