Wie kann ich eine SSH-Verbindung beenden?
Zwei Wege:
- Schließen der Shell-Sitzung, z. B. mit
exit
gefolgt von Enteroder Ctrl- dErmöglicht ssh
normalerweise das normale Beenden der Sitzung.
- Wenn Sie eine schlechte Verbindung haben und die Shell nicht reagiert, Enterdrücken Sie die Taste.
~.
Geben Sie dann ein und ssh sollte sofort geschlossen werden und Sie zur Eingabeaufforderung zurückkehren.
Die erste Option sollte intuitiv sein, aber woher kennen wir die letztere Option?
Wir könnten diese Information aus einem sorgfältigen Lesen der Manpage lernen.
$ man ssh
gibt uns die SSH-Dokumentation , die den folgenden Abschnitt zu Escape-Zeichen enthält:
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.
Kurze Antwort: Typ
exit
Wenn das aber nicht geht ...
SSH-Escape-Zeichen und Trennsequenz
Die meisten SSH-Implementierungen implementieren ein Escapezeichen für interaktive Sitzungen, ähnlich der
Ctrl-]
Kombination von Telnet . Das Standard-SSH-Escapezeichen wird~
am Anfang einer Zeile eingegeben.Wenn Sie eine interaktive OpenSSH-Sitzung beenden möchten, die blockiert ist und nicht durch Eingeben
exit
oder Betreten CtrlDeiner Shell auf der Remote-Seite beendet werden kann, können Sie~
einen Punkt gefolgt von einem Punkt eingeben.
. Um das Escape-Zeichen am Anfang einer Eingabezeile einzugeben, müssen Sie zuerst die Eingabetaste drücken. Die folgende Sequenz beendet in den meisten Fällen eine SSH-Sitzung:Enter~.
Andere Escape-Sequenzen
OpenSSH bietet beispielsweise noch andere Escape-Sequenzen an
~.
. Wenn Sie~?
während einer Sitzung teilnehmen, sollten Sie eine Liste erhalten. Einige Beispiele:~
wirdCtrl-Z
die Sitzung unterbrochen,~&
stellt es direkt in den Hintergrund,~#
Gibt eine Liste der weitergeleiteten Verbindungen in dieser Sitzung aus.~~
.Das Escape-Zeichen kann mit der Befehlszeilenoption geändert werden
-e
. Wenn Sie den speziellen Wert festlegen-e none
, wird die Escape-Funktion deaktiviert und die Sitzung ist vollständig transparent.Siehe auch die OpenBSD-Manpage auf ssh (auf die von www.openssh.org verwiesen wird ) unter der
-e
Kommandozeilenoptionquelle
exit
oderCtrl-D
, sondern nur ein Abhörvorgang. Ich habe klargestellt, dass meine Lösung für eine Sitzung geeignet ist, die feststeckt und nicht beendet werden kann . Ich habe versucht, dies näher zu erläutern, hoffe, es ist jetzt einfacher zu sehen.~.
ohne Leerzeichen war genau das, was ich brauchte, danke! :)Möchten Sie die SSH-Shell beenden?
Sie können eingeben
exit
und drücken Enteroder Ctrl+ verwendenDquelle
Geben Sie einfach
exit
oder einlogout
(drücken Sie dann natürlich die Eingabetaste), beide funktionieren.quelle
Dies sind die unterstützten Zeichen, die verschiedene Optionen bieten, mit denen Sie mit ssh herumspielen können.
Unterstützte Escape-Sequenzen:
(Beachten Sie, dass Escape-Zeichen erst unmittelbar nach einer neuen Zeile erkannt werden.) Sie können die Liste der Escape-Zeichenfolgen schließen, indem Sie auf klicken Enter.
quelle
Sie können
logout
in die Konsolenzeile schreiben (und Enternatürlich treffen ).quelle
MacOS : Wenn SSH hängt, verwenden Sie folgende Reihenfolge:
Wo: shift + ` erzeugt ~ (Tilde)
quelle