Quicktipp: OpenSSH Verbindung unterbrechen

Während ein Rechner per SSH zu einem anderen Rechner verbunden ist, kommt es teilweise vor, dass die Verbindung kurzzeitig unterbrochen werden müsste um auf die lokale Shell zugreifen zu können.

Diese Unterbrechungen sind im Umfeld der Shell recht üblich und werden dort über die Tastenkombination [STRG]+z durchgeführt. Damit wird der aktuelle Prozess im Job-Management angehalten und die Shell zur Eingabe von Befehlen freigegeben. Nach der Arbeit mit dem Befehl erfolgt eine Wiederaufnahme des Befehls über fg.

Innerhalb einer SSH – Verbindung ist dies nicht möglich, da die Befehlskombination direkt an die Shell auf dem entfernten Server weitergeleitet und somit das Jobmanagement der entfernten Shell angesprochen wird.

Um den eigentlich gewünschten Effekt, der Unterbrechung des lokal aufgerufenen SSH – Kommandos, zu erreichen schaltet man den  SSH über Eingabe einer Tilde ‚~‚ in den Kommando – Modus. Dies funktioniert allerdings nur falls das Zeichen vorher eine Zeilenumschaltung  ([Return]) war.

Die Umschaltung in den Kommandomodus kann man nicht sehen, sollte trotzdem eine Ausgabe, z. B. die ‚~‚ erscheinen muss über [Return]~ der Kommandomodus erneut aufgerufen werden. Es reicht nicht eventuell vorher eingegebene Zeichen zu löschen.

Im Kommandomodus angelangt funktioniert nun die Tastenkombination [STRG]+z um den SSH-Aufruf zu unterbrechen.

ssh-suspend

Nach Eingabe des Shell-Kommandos fg wird, wie bei normalen Shell-Jobs, der Hintergrundprozess wieder in den Vordergrund geholt und die SSH – Verbindung ist wieder funktionsbereit.

ssh-resume

Wurde nach einem SSH – Aufruf innerhalb der Verbindung ein weiterer SSH aufgerufen lässt das Protokoll auch zu den zweiten statt des ersten SSH – Aufrufs in den Hintergrund zu legen. Hierzu kann die ‚~‚ (Tilde) mehrfach hintereinander angegeben werden. Jede  zusätzliche Tilde gibt das Kommando um einen SSH – Level nach innen. Um also den zweiten SSH – Aufruf zu unterbrechen reicht die folgenden Tasten – Kombination: ‚~~[STRG]+z‚.