¿Cómo se pueden enviar comandos a la sesión ssh "interna"?

32

Imagine un escenario en el que estoy conectado a un servidor (que llamaremos "Wallace") desde mi máquina local, y desde allí ssha otro servidor (que llamaremos "Gromit"):

laptop ---ssh---> Wallace ---ssh---> Gromit

Entonces la sesión ssh de Wallace a Gromit se cuelga, y quiero matarla. Si entro ~.para matar ssh, mata la sesión ssh de mi computadora portátil a Wallace, porque ~es interceptada por esa sesión ssh y .se toma como un comando para matar la sesión. ¿Cómo envío un comando a la sesión ssh entre Wallace y Gromit? ¿Cómo mato mi ssh "interno"?

iconoclasta
fuente
FYI: Algunos diseños de teclado pueden requerir presionar dos veces la tecla '~' para imprimir un carácter '~'. A menudo uso la pantalla, así que cuando se pierde una conexión ssh, simplemente puedo iniciar otro shell que mata esta sesión.
matemáticas

Respuestas:

42

Agregue otra tilde (es decir, tipo ~~.). Cada tilde sucesiva se come en la sesión ssh más externa que aún no se ha comido una, pero si el siguiente personaje es otra tilde, se pasa a la siguiente sesión.

Si, desde gromit 1 , pasó a un tercer host (llamémoslo wensleydale), entonces ~~~.dejaría la sesión en wensleydale y lo devolvería a un mensaje sobre gromit.

1 Y qué gran servidor es ese; ¿con qué frecuencia escuché un comentario del desarrollador "host crackear, gromit"?

MadHatter apoya a Monica
fuente
2
Relacionado: La canción de Telnet
voretaq7
1
Oh, eso es maravilloso. No puedo creer que no lo haya encontrado antes.
MadHatter apoya a Monica el
Sería genial si hubiera alguna manera de obtener retroalimentación visual de cuán lejos está la pila, en caso de que tenga laptop --> Wallace --> Gromit --> Shaun --> Timmyo algo así de loco ...
iconoclast
-2

Puede emitir comandos arbitrarios y capturar la salida del shell más interno en una variable

export output=`echo some_cmd | ssh user@host |  echo some_cmd2 | ssh user2@host2`
Thomas Wadley
fuente
1
Esto es muy interesante, pero no estoy seguro de cómo se relaciona con la pregunta. ¿Puedes explicar?
iconoclasta