GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie beende ich eine SSH-Verbindung?

Kurze Antwort:Geben Sie exit ein

Wenn das aber nicht funktioniert...

SSH-Escape-Zeichen und Trennsequenz

Die meisten SSH-Implementierungen implementieren ein Escape-Zeichen für interaktive Sitzungen, ähnlich wie Ctrl-] von Telnet Kombination. Das standardmäßige SSH-Escape-Zeichen ist ~ , am Anfang einer Zeile eingegeben.

Wenn Sie eine interaktive OpenSSH-Sitzung beenden möchten, die feststeckt und nicht durch Eingabe von exit beendet werden kann oder Strg D in eine Shell auf der entfernten Seite können Sie ~ eingeben gefolgt von einem Punkt . . Um sicherzugehen, dass das Escape-Zeichen am Anfang einer Eingabezeile eingegeben wird, sollten Sie zuerst die Eingabetaste drücken. Daher wird die folgende Sequenz in den meisten Fällen eine SSH-Sitzung beenden:

Eingabe ~ .

Andere Escape-Sequenzen

OpenSSH beispielsweise bietet neben ~. noch weitere Escape-Sequenzen an . Geben Sie ~? ein während einer Sitzung sollte Ihnen eine Liste geben. Einige Beispiele:

  • ~ folgte Ctrl-Z unterbricht die Sitzung,
  • ~& setzt es direkt in den Hintergrund,
  • ~# zeigt eine Liste der weitergeleiteten Verbindungen in dieser Sitzung an.
  • Wenn Sie einfach eine Tilde am Anfang einer Zeile eingeben möchten, müssen Sie diese verdoppeln:~~ .

Das Escape-Zeichen kann mit der Befehlszeilenoption -e geändert werden . Wenn Sie den Sonderwert -e none setzen , Escaping ist deaktiviert und die Sitzung ist vollständig transparent.

Siehe auch die Manpage von OpenBSD auf ssh (auf die von www.openssh.org verwiesen wird) unter dem -e Befehlszeilenoption


Wie beende ich eine SSH-Verbindung?

Zwei Möglichkeiten:

  • Schließen der Shell-Session wird normalerweise beendet, zum Beispiel:
    • mit dem in die Shell eingebauten Befehl exit , gefolgt von Enter , oder
    • Strg -d , (Dateiende)
  • Falls Sie eine schlechte Verbindung haben und die Shell nicht reagiert, drücken Sie die Enter -Taste und geben Sie dann ~. ein und ssh sollte sich sofort schließen und Sie zu Ihrer Eingabeaufforderung zurückbringen.

Die erste Option sollte intuitiv sein, aber woher kennen wir die zweite Option?

Wir könnten diese Informationen aus einem sorgfältigen Lesen der Manpage entnehmen.

$ man ssh

gibt uns die SSH-Dokumentation, die den folgenden Abschnitt über 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.

An exit ist nichts Besonderes für ssh ist es nur eine Möglichkeit, die Shell zu verlassen, was zum Schließen der ssh-Sitzung führt:

$ type exit
exit is a shell builtin
$ help exit
exit: exit [n]
    Exit the shell.
    
    Exits the shell with a status of N.  If N is omitted, the exit status
    is that of the last command executed.

Das Zitieren und Zitieren von Referenzquellen soll weitere Beweise für eine ansonsten möglicherweise nachweisbare Tatsachenbehauptung liefern und den Benutzer darüber informieren, wo möglicherweise relevantere Informationen gespeichert sind.

Sie möchten wissen, dass Sie semantisch das Richtige tun, und wissen, dass es funktioniert.

Sie möchten nicht lernen, etwas als Feature aufzurufen, das als Fehler dokumentiert und dann später „behoben“ wurde. Das semantisch Richtige zu tun wird weiterhin unterstützt.


Möchten Sie die SSH-Shell verlassen?

Sie können exit eingeben und drücken Sie Enter , oder verwenden Sie Strg +D


Linux
  1. So erhöhen Sie das Timeout der SSH-Verbindung

  2. So überprüfen Sie die Geschwindigkeit Ihrer SSH-Verbindung

  3. Wie konfiguriere ich Schriftarten auf einer Remote-X-Verbindung (xdmcp vs. Ssh)?

  4. Wie kann ich eine SSH-Sitzung nach einem Verbindungsverlust wiederherstellen/beenden?

  5. SSH - So fügen Sie den Befehl -t in die Datei ~/.ssh/config ein

So beheben Sie den Fehler „SSH-Verbindung abgelehnt“.

So aktivieren Sie SSH unter Ubuntu 18.04

So generieren Sie einen SSH-Schlüssel in Windows 10

So aktivieren Sie SSH unter Ubuntu 20.04

So ändern Sie den SSH-Port auf VPS

So richten Sie eine sichere Remote-MySQL-Verbindung ein