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?

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.