So beenden Sie eine nicht reagierende SSH-Sitzung unter Linux

So beenden Sie eine nicht reagierende SSH-Sitzung unter Linux
Leser wie Sie unterstützen MUO. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Mehr lesen.

Möglicherweise geben Sie in einer Remote-SSH-Sitzung etwas ein, und plötzlich passiert nichts. Das System scheint nicht auf Ihre Tastenanschläge zu reagieren. Was machst du?





MUO-Video des Tages Scrollen Sie, um mit dem Inhalt fortzufahren

Hier erfahren Sie, warum es passiert, wie Sie eine nicht reagierende SSH-Sitzung beenden und warum Sie möglicherweise zu Mosh wechseln möchten.





Was führt zum Einfrieren von SSH-Sitzungen?

Der Hauptgrund für das Einfrieren von SSH-Sitzungen ist die Unterbrechung der Netzwerkverbindung. Die WLAN-Signale können unterbrochen werden, oder Sie lassen Ihren Computer in den Ruhezustand wechseln. Dies ist am häufigsten bei Laptops der Fall. Möglicherweise schließen Sie den Laptopdeckel und vergessen dabei, dass Sie noch über SSH angemeldet sind.





So fügen Sie Klassen zu Google Kalender hinzu

SSH wurde ursprünglich in einer Zeit entwickelt, bevor Menschen routinemäßig Laptops verwendeten. SSH funktioniert besser über kabelgebundene Netzwerke.

1. Beenden Sie mit einer Escape-Sequenz

  Beenden einer SSH-Sitzung mit einer Escape-Sequenz

Wenn Ihre SSH-Sitzung einfriert, versuchen Sie es mit einer Escape-Sequenz. Mit einer Escape-Sequenz können Sie Signale an den SSH-Client statt an den Remote-Computer senden. Escape-Sequenzen wird ein Escape-Zeichen vorangestellt. Standardmäßig ist es auf dem OpenSSH-Client das Tilde (~) Charakter.

Um den SSH-Client zu beenden, können Sie die Tilde-Taste und dann die drücken Zeitraum (.) Schlüssel.

So stoppen Sie die Verwendung von 100 Festplatten Windows 10

Sie können bei Bedarf auch das Escape-Zeichen ändern. Mit können Sie ein neues Escape-Zeichen angeben -Es ist Option in der Befehlszeile. Sie können es auch dauerhaft ändern, indem Sie das festlegen EscapeChar Option in Ihrem .ssh/config Datei in Ihrem Home-Verzeichnis auf dem lokalen Computer.

2. Verwenden des kill-Befehls

  Suche nach einer SSH-Sitzung mit ps und grep

Wenn die Verwendung einer Escape-Sequenz nicht funktioniert, können Sie versuchen, den SSH-Client zu beenden. Um die Prozess-ID (PID) Ihrer Sitzung zu ermitteln, leiten Sie den Befehl ps über grep weiter:

 ps aux | grep ssh

Das „aux“-Argument für ps bedeutet „Jeden Prozess auf dem System auflisten, unabhängig davon, wem er gehört oder ob er einen hat.“ Steuerterminal oder nicht.'

Wenn Sie mehrere Sitzungen haben, können Sie die eingefrorene Sitzung auswählen, da in der Liste der Benutzername und die Adresse auf dem Remote-Computer angezeigt werden, bei dem die SSH-Sitzungen angemeldet sind. Sobald Sie die PID Ihrer Sitzung gefunden haben, können Sie sie mit dem Kill-Befehl beenden:

 kill [PID]

Für bessere SSH-Verbindungen verwenden Sie Mosh!

  Remote-VIM-Sitzung unter Mosh mit getrennter Netzwerkverbindung

Eine bessere Möglichkeit, lästige eingefrorene SSH-Sitzungen zu vermeiden, ist die Verwendung von Mosh . Wenn die Verbindung abbricht, sorgt Mosh dafür, dass Sie in Verbindung bleiben. Es werden alle Nachrichten gesendet, wenn Sie die Verbindung wiederherstellen. Es funktioniert auch, wenn Sie Ihr Gerät in den Ruhezustand versetzen.

finde mein iphone sagt offline, aber das ist es nicht

Sie können auch einen Terminal-Multiplexer wie GNU Screen oder tmux verwenden, um Ihre SSH-Sitzung nach Verbindungsabbrüchen fortzusetzen Mosh und tmux sind noch leistungsfähiger, wenn sie zusammen verwendet werden .

So installieren Sie Mosh unter Debian und Ubuntu:

 sudo apt install mosh

Und auf Arch Linux:

 sudo pacman -S mosh

Zur Red Hat-Distributionsfamilie:

 sudo dnf install mosh

Jetzt können Sie feststeckende SSH-Sitzungen loswerden

Nicht reagierende SSH-Sitzungen können frustrierend sein, aber Sie können sie mit einer Escape-Sequenz oder dem Kill-Befehl beseitigen. Mosh ist ein noch besserer Ersatz, der Ihre Verbindung auch bei Verbindungsabbrüchen und Systemschlafphasen aufrechterhält.