2012-08-28 14:29:59 +0000 2012-08-28 14:29:59 +0000
273
273

Comment puis-je quitter une connexion SSH ?

Je me connecte à un serveur via SSH pour envoyer un message à un serveur de socket en utilisant une commande comme :

ssh 181.169.1.2 -p 5566

Après que la connexion soit établie et que j'ai écrit le message et l'ai envoyé, je ne peux pas quitter le mode texte. Je suis seulement autorisé à entrer plus de texte et c'est tout.

Y a-t-il une commande ou une combinaison de touches qui me permet de revenir au mode commande ?

Réponses (7)

294
294
294
2013-07-17 09:26:09 +0000

Réponse courte : Tapez exit

Si cela ne fonctionne pas, cependant…

Caractère d'échappement SSH et séquence de déconnexion

La plupart des implémentations SSH implémentent un caractère d'échappement pour les sessions interactives, similaire à la combinaison Ctrl-] de telnet. Le caractère d'échappement SSH par défaut est ~, entré au début d'une ligne.

Si vous voulez terminer une session interactive OpenSSH qui est bloquée et ne peut être quittée en entrant exit ou CtrlD dans un shell du côté distant , vous pouvez entrer ~ suivi d'un point .. Pour être sûr d'entrer le caractère d'échappement au début d'une ligne de saisie, vous devez d'abord appuyer sur Entrée. Ainsi, la séquence suivante terminera dans la plupart des cas une session SSH :

Enter~.

Autres séquences d'échappement

OpenSSH, par exemple, offre d'autres séquences d'échappement en plus de ~.. Entrer dans ~? pendant une session devrait vous donner une liste. Quelques exemples :

  • ~ suivi Ctrl-Z suspend la session,
  • ~& la met directement en arrière-plan,
  • ~# donne une liste des connexions transférées dans cette session.
  • Si vous voulez simplement entrer un tilde au début d'une ligne, vous devez le doubler : ~~.

Le caractère d'échappement peut être modifié en utilisant 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 entièrement transparente.

Voir aussi la page de manuel OpenBSD sur ssh (qui est référencée à partir de www.openssh.org ) sous l'option de ligne de commande -e

195
195
195
2017-09-16 21:57:26 +0000

Comment puis-je quitter une connexion SSH ?

Deux façons :

  • fermer la session du shell, par exemple avec exit suivi de la touche Entrée, ou Ctrl-d vous permet généralement de quitter la session ssh normalement,
  • dans le cas où vous avez une mauvaise connexion et que le shell ne répond pas, appuyez sur la touche Entrée, puis tapez ~. et ssh devrait se fermer immédiatement et vous renvoyer à votre invite de commande. La première option devrait être intuitive, mais comment connaître la seconde ? Nous pourrions apprendre ces informations en lisant attentivement la page de manuel.
$ man ssh

nous donne la documentation SSH , qui comporte 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.
32
32
32
2012-08-28 18:37:35 +0000

Vous voulez quitter le shell SSH ?

Vous pouvez taper exit et appuyer sur Entrée, ou utiliser Ctrl+D

11
11
11
2014-04-14 15:00:24 +0000

Tapez simplement exit ou logout (puis appuyez sur Entrée bien sûr) et les deux fonctionneront.

8
8
8
2016-06-14 22:26:47 +0000

Ce sont les caractères supportés qui offrent diverses options avec lesquelles vous pouvez jouer avec ssh.

Séquences d'échappement supportées :

~. - terminate session

 ~B - send a BREAK to the remote system

 ~R - Request rekey (SSH protocol 2 only)

 ~# - list forwarded connections

 ~? - this message

 ~~ - send the escape character by typing it twice

(Notez que les échappements ne sont reconnus qu'immédiatement après une nouvelle ligne.) Vous pouvez fermer la liste des séquences d'échappement en appuyant sur Entrée.

3
3
3
2013-07-17 07:12:49 +0000

Vous pouvez écrire logout dans la ligne de la console (et appuyer sur Entrée bien sûr).

1
1
1
2018-03-29 17:25:28 +0000

MacOS : lorsque ssh est suspendu, utilisez la séquence suivante :

ENTER 
SHIFT+`
.

où : shift+` produit ~ (caractère tilde)