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?

Holy Sheet
la source

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.

user1686
la source
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