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?
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:
Le client SSH désactive la gestion des touches spéciales ( stty -icanon -isig
options) pour le terminal local, donc lorsque vous appuyez sur CtrlZ, le client lit simplement l'octet brut 0x1A
et le transmet au serveur.
OpenSSH prend en charge une commande spéciale pour suspendre le client - Enter, puis ~, suivi de CtrlZ.
Ctrl-Z
est modifié au lieu qu'un nouveau ~ Ctrl-Z
soit ajouté pour arrêter le processus distant?
~?
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.)