Ctrl-Z sur une session SSH


10

Lorsque je SSH dans un autre système et que j'appuie sur Ctrl- Z, je m'attendais à ce que le client SSH passe en arrière-plan. Cependant, c'est le processus distant qui fait cela. Où se passe la magie?

Réponses:


15

Le client SSH désactive la gestion des touches spéciales ( stty -icanon -isigoptions) pour le terminal local, donc lorsque vous appuyez sur CtrlZ, le client lit simplement l'octet brut 0x1Aet le transmet au serveur.

OpenSSH prend en charge une commande spéciale pour suspendre le client - Enter, puis ~, suivi de CtrlZ.


3
Au début du type de ligne ~?pour obtenir une liste complète des codes d'échappement. Vous pouvez modifier le caractère d'échappement à l'aide de -e lorsque vous démarrez ssh. (ceci s'applique à openssh, utilisé sur la plupart des systèmes GNU.)
ctrl-alt-delor

Je m'attendais à ce que le client ssh local soit suspendu, pas le processus sur la machine distante. Y a-t-il une raison pour laquelle l'ordinaire Ctrl-Zest modifié au lieu qu'un nouveau ~ Ctrl-Zsoit ajouté pour arrêter le processus distant?
humanityANDpeace
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.