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?
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?
Antworten:
Der SSH-Client deaktiviert die spezielle Schlüsselbehandlung ( stty -icanon -isig
Optionen) für die lokale tty. Wenn Sie also drücken CtrlZ, liest der Client nur das Rohbyte 0x1A
und leitet es an den Server weiter.
OpenSSH einen speziellen Befehl unterstützt den Client zu suspendieren - Enter, dann ~, gefolgt von CtrlZ.
Ctrl-Z
geändert wird, anstatt dass ein neues ~ Ctrl-Z
hinzugefügt wird, um den Remote-Prozess zu stoppen?
~?
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.)