Strg-Z in einer SSH-Sitzung

10

Wenn ich SSH in ein anderes System einbinde und Ctrl- drücke Z, erwarte ich, dass der SSH-Client in den Hintergrund tritt. Es ist jedoch der Remote-Prozess, der dies tut. Wo passiert die Magie?

Heilige Blatt
quelle

Antworten:

15

Der SSH-Client deaktiviert die spezielle Schlüsselbehandlung ( stty -icanon -isigOptionen) für die lokale tty. Wenn Sie also drücken CtrlZ, liest der Client nur das Rohbyte 0x1Aund leitet es an den Server weiter.

OpenSSH einen speziellen Befehl unterstützt den Client zu suspendieren - Enter, dann ~, gefolgt von CtrlZ.

user1686
quelle
3
Zu Beginn des Zeilentyps ~?erhalten Sie eine vollständige Liste der Escape-Codes. Sie können das Escape-Zeichen mit -e ändern, wenn Sie ssh starten. (Dies gilt für openssh, das auf den meisten Gnu-Systemen verwendet wird.)
Strg-Alt-Delor
Ich habe erwartet, dass der lokale SSH-Client angehalten wird, nicht der Prozess auf dem Remotecomputer. Gibt es einen Grund, warum das Gewöhnliche Ctrl-Zgeändert wird, anstatt dass ein neues ~ Ctrl-Zhinzugefügt wird, um den Remote-Prozess zu stoppen?
Menschlichkeit und