Wie man den SSH-Verbindungs-Timeout in Linux verhindert

Wenn Sie viel Zeit an der Kommandozeile verbringen, sind Sie vielleicht schon einmal auf das lästige Problem gestoßen, dass Ihre Sitzung nach einer relativ kurzen Zeit der Inaktivität abbricht. Dies ist zwar aus Sicherheitsgründen wünschenswert, kann aber zu Problemen führen, wenn Sie versuchen, eine lang andauernde Operation durchzuführen.
In der Regel wird Ihre Verbindung zum Server zurückgesetzt, wenn Sie eine Weile inaktiv waren, was typischerweise den Fehler erzeugt: Connection reset by peer. Um dies zu umgehen, müssen Sie eine Keep-Alive-Option auf dem Server setzen.

Siehe auch : OpenSSH-Server unter Linux installieren und konfigurieren

In dieser Anleitung erfahren Sie, wie Sie den SSH-Verbindungs-Timeout verhindern und Ihre SSH-Sitzung auch nach einiger Inaktivität unter Linux am Leben erhalten können.

Erhöhen Sie den SSH-Verbindungs-Timeout

Gehen Sie auf dem Server zur Konfigurationsdatei /etc/ssh/sshd_config.

$ sudo vi /etc/ssh/sshd_config

Scrollen Sie und suchen Sie die folgenden Parameter:

#ClientAliveInterval #ClientAliveCountMax

Wobei

  • ClientAliveInterval: Legt ein Timeout-Intervall in Sekunden fest, nach dem, wenn keine Daten vom Client empfangen wurden, sshd eine Nachricht über den verschlüsselten Kanal sendet, um eine Antwort vom Client anzufordern. Die Voreinstellung ist 0, was bedeutet, dass diese Nachrichten nicht an den Client gesendet werden. Diese Option gilt nur für Protokollversion 2.
  • ClientAliveCountMax: Legt die Anzahl der Client-Alive-Nachrichten fest, die gesendet werden können, ohne dass sshd eine Nachricht vom Client zurückerhält. Wenn dieser Schwellenwert erreicht wird, während Client-Alive-Nachrichten gesendet werden, trennt sshd die Verbindung zum Client und beendet die Sitzung.

Der Timeout-Wert ergibt sich aus dem Produkt der obigen Parameter i.d.h.

Timeout value = ClientAliveInterval * ClientAliveCountMax

Angenommen, Sie haben Ihre Parameter wie folgt definiert:

ClientAliveInterval 1200ClientAliveCountMax 3
Erhöhen Sie die SSH-Zeitüberschreitung

Der Timeout-Wert beträgt 1200 Sekunden * 3 = 3600 Sekunden. Dies entspricht 1 Stunde, was bedeutet, dass Ihre SSH-Sitzung für eine Leerlaufzeit von 1 Stunde am Leben bleibt, ohne unterbrochen zu werden.
Alternativ können Sie das gleiche Ergebnis erzielen, indem Sie den Parameter ClientAliveInterval allein angeben.

ClientAliveInterval 3600

Nachdem Sie dies getan haben, laden Sie den OpenSSH-Daemon neu, damit die Änderungen in Kraft treten.

$ sudo systemctl reload sshd

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.