Je me connecte à un serveur via SSH pour envoyer un message à un serveur de socket à l’aide d’une commande telle que:
ssh 181.169.1.2 -p 5566
Une fois la connexion établie, le message écrit et envoyé, je ne peux plus quitter le mode texte. Je suis seulement autorisé à entrer plus de texte et c’est tout.
Existe-t-il une commande ou une combinaison de touches me permettant de revenir en mode commande?
Comment puis-je sortir d'une connexion SSH?
Deux manières:
exit
suivi de Enter, ou Ctrl-d vous permet généralement de quitter la session ssh
normalement,~.
et ssh devrait 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: Tapez exit
name__
Si cela ne fonctionne pas, cependant ...
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 souhaitez mettre fin à une session interactive OpenSSH bloquée et impossible à quitter en entrant exit
ou CtrlD dans un shell du côté distant , vous pouvez entrer ~
suivi 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~.
OpenSSH, par exemple, offre d’autres séquences d’échappement que ~.
. Entrer ~?
au cours d'une session devrait vous donner une liste. Quelques exemples:
~
suivi Ctrl-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 -e
de la ligne de commande. Si vous définissez la valeur spéciale -e none
, l'échappement est désactivé et la session est totalement transparente.
Voir aussi page de manuel OpenBSD sur ssh (qui est référencé à partir de www.openssh.org ) sous l’option -e
en ligne de commande
Voulez-vous quitter le shell SSH?
Vous pouvez taper exit
et cliquer sur Enter, Ou utiliser Ctrl+D
Il suffit de taper exit
ou logout
(puis appuyer sur Entrée bien sûr) les deux fonctionneront.
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:
~. - 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’après une nouvelle ligne.) Vous pouvez fermer la liste des séquences d’échappement en appuyant sur Enter.
Vous pouvez écrire logout
dans la ligne de la console (et appuyer sur Enter bien sûr).
MacOS : lorsque ssh se bloque, utilisez la séquence suivante:
ENTER
SHIFT+`
.
où: shift + `produit ~ (caractère tilde)