Come si possono inviare comandi alla sessione ssh "interna"?


32

Immagina uno scenario in cui sono connesso a un server (che chiameremo "Wallace") dal mio computer locale e da lì ssha un altro server (che chiameremo "Gromit"):

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

Quindi la sessione SSH da Wallace a Gromit si blocca e voglio ucciderla. Se entro ~.per uccidere SSH, uccide la sessione SSH dal mio laptop a Wallace, perché ~viene intercettato da quella sessione SSH e .viene preso come comando per uccidere la sessione. Come posso inviare un comando alla sessione ssh tra Wallace e Gromit? Come uccido il mio ssh "interiore"?


A proposito: alcuni layout di tastiera potrebbero richiedere due volte la pressione del tasto '~' per stampare un carattere '~'. Uso spesso lo schermo, quindi quando si perde una connessione SSH posso semplicemente avviare un'altra shell uccidendo questa sessione.
matematica,

Risposte:


42

Aggiungi un'altra tilde (ovvero, digita ~~.). Ogni tilde successiva viene mangiata dalla sessione ssh più esterna che non ne ha ancora mangiata una, ma se il personaggio successivo è un'altra tilde, viene passato alla sessione successiva in.

Se, da gromit 1 , sei stato inviato a un terzo host (chiamiamolo wensleydale), allora lasceresti ~~~.cadere la sessione su wensleydale e ti restituirebbe un prompt su gromit.

1 E che grande server che è; quanto spesso ho sentito un commento dello sviluppatore "cracking host, gromit"?


2
Correlati: The Telnet Song
voretaq7,

1
Oh, è meraviglioso; Non riesco a credere di non averlo mai visto prima.
MadHatter supporta Monica il

Sarebbe bello se ci fosse un modo per ottenere un riscontro visivo di quanto sei in fondo allo stack, nel caso in cui tu abbia laptop --> Wallace --> Gromit --> Shaun --> Timmyqualcosa di così folle ...
iconoclast

-2

È possibile emettere comandi arbitrari e catturare l'output dalla shell più interna in una variabile

export output=`echo some_cmd | ssh user@host |  echo some_cmd2 | ssh user2@host2`

1
Questo è molto interessante, ma non sono sicuro di come si rapporta alla domanda. Puoi spiegare?
iconoclasta il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.