Comment puis-je quitter une connexion SSH?
Deux façons:
- fermer la session shell, par exemple avec
exit
suivi de Enter, ou Ctrl- dvous permet généralement de quitter la ssh
session normalement,
- dans le cas où vous avez une mauvaise connexion et que le shell ne répond pas, appuyez sur la Entertouche, puis tapez
~.
et ssh doit immédiatement se fermer et vous ramener à votre invite de commande.
La première option devrait être intuitive, mais comment connaissons-nous cette dernière option?
Nous pourrions apprendre cette information en lisant attentivement la page de manuel.
$ man ssh
nous donne la documentation SSH , qui contient la section suivante sur les caractères d'échappement:
ESCAPE CHARACTERS
When a pseudo-terminal has been requested, ssh supports a number of
functions through the use of an escape character.
A single tilde character can be sent as ~~ or by following the tilde by
a character other than those described below. The escape character
must always follow a newline to be interpreted as special. The escape
character can be changed in configuration files using the EscapeChar
configuration directive or on the command line by the -e option.
The supported escapes (assuming the default ‘~’) are:
~. Disconnect.
~^Z Background ssh.
~# List forwarded connections.
~& Background ssh at logout when waiting for forwarded connection
/ X11 sessions to terminate.
~? Display a list of escape characters.
~B Send a BREAK to the remote system (only useful if the peer sup‐
ports it).
~C Open command line. Currently this allows the addition of port
forwardings using the -L, -R and -D options (see above). It
also allows the cancellation of existing port-forwardings with
-KL[bind_address:]port for local, -KR[bind_address:]port for
remote and -KD[bind_address:]port for dynamic port-forwardings.
!command allows the user to execute a local command if the
PermitLocalCommand option is enabled in ssh_config(5). Basic
help is available, using the -h option.
~R Request rekeying of the connection (only useful if the peer
supports it).
~V Decrease the verbosity (LogLevel) when errors are being written
to stderr.
~v Increase the verbosity (LogLevel) when errors are being written
to stderr.
Réponse courte: Type
exit
Si cela ne fonctionne pas, cependant ...
Séquence d'échappement et de déconnexion SSH
La plupart des implémentations SSH implémentent un caractère d'échappement pour les sessions interactives, similaire à la
Ctrl-]
combinaison de telnet . Le caractère d'échappement SSH par défaut est~
, entré au début d'une ligne.Si vous souhaitez mettre fin à une session interactive OpenSSH bloquée et impossible à quitter en entrant
exit
ou CtrlDdans un shell distant , vous pouvez entrer~
suivie d'un point.
. Pour être sûr de saisir le caractère d'échappement au début d'une ligne de saisie, vous devez appuyer d'abord sur Entrée. Donc, la séquence suivante mettra généralement fin à une session SSH:Enter~.
Autres séquences d'échappement
OpenSSH, par exemple, offre d’autres séquences d’échappement
~.
. Entrer~?
pendant une session devrait vous donner une liste. Quelques exemples:~
suiviCtrl-Z
suspend la session,~&
le met directement en arrière-plan,~#
donne une liste des connexions transférées dans cette session.~~
.Le caractère d'échappement peut être modifié à l'aide de l'option de ligne de commande
-e
. Si vous définissez la valeur spéciale-e none
, l'échappement est désactivé et la session est totalement transparente.Voir aussi la page de manuel OpenBSD sur ssh (référencée sur www.openssh.org ) sous l’
-e
option de ligne de commandela source
exit
ouCtrl-D
simplement un processus d'écoute. J'ai clairement indiqué que ma solution convient à une session bloquée et impossible à quitter . J'ai essayé de clarifier cela plus, en espérant qu'il est plus facile de voir maintenant.~.
sans espaces, c'était exactement ce dont j'avais besoin, merci! :)Voulez-vous quitter le shell SSH?
Vous pouvez taper
exit
et frapper Enter, ou utiliser Ctrl+Dla source
Il suffit de taper
exit
oulogout
(puis appuyez sur Entrée bien sûr) les deux vont fonctionner.la source
Ce sont les caractères pris en charge qui fournissent diverses options avec lesquelles vous pouvez jouer avec ssh.
Séquences d'échappement prises en charge:
(Notez que les échappements ne sont reconnus que immédiatement après une nouvelle ligne.) Vous pouvez fermer la liste des séquences d'échappement en appuyant sur Enter.
la source
Vous pouvez écrire
logout
dans la ligne de la console (et frapper Enterbien sûr).la source
MacOS : lorsque ssh se bloque, utilisez la séquence suivante:
où: shift + ` produit ~ (caractère tilde)
la source