Wie halte ich die SSH-Verbindung am Leben?

10

Wie kann ich eine SSH-Verbindung am Leben erhalten, ohne sie aktiv zu nutzen? Wenn ich es benutze, funktioniert es gut, aber wenn ich es einige Minuten lang nicht benutze, wird die Verbindung getrennt. Wie kann ich die SSH-Sitzung am Leben erhalten, wenn ich bei jeder Verbindung eine E-Mail erhalte?

Hinweis: In meiner .ssh/configDatei habe ich oben

Host *
ServerAliveInterval 3

aber es scheint nicht zu funktionieren.

NerdOfLinux
quelle
Welcher SSH-Client? 3 ist zu kurz, verwenden Sie ein Intervall von 60. Sie können dies auch in / etc / ssh / ssh_config einfügen, wenn Sie Root-Zugriff haben.
Panther
*sollten alle sein, nicht wahr?
NerdOfLinux
Ich glaube nicht, dass das mit PuTTY funktioniert
Panther
1
Überprüfen Sie die folgende URL für PuTTy-Anweisungen a2hosting.com/kb/getting-started-guide/accessing-your-account/…
Haitham A. El-Ghareeb

Antworten:

10

Sie müssen die Anzahl der Versuche und das Intervall für das Senden eines Pakets an den Server angeben. Sie können die folgenden Zeilen in Ihre .ssh/configDatei einfügen:

Host examplehost
    Hostname examplehost.com
    ServerAliveInterval 180
    ServerAliveCountMax 2

Dadurch wird alle 180 Sekunden (3 Minuten) ein Paket an den Server gesendet, und es wird zweimal versucht, bevor die Verbindung geschlossen wird, nachdem keine Antwort vom Client erhalten wurde.

Peshmerge
quelle
2
Ich habe das völlig vergessen ServerAliveCountMax, was wahrscheinlich mein Problem gelöst hat.
NerdOfLinux
4

Unter Linux- und Apple Mac OS X-Betriebssystemen können Sie mit der ~/.ssh/configDatei viele SSH-Einstellungen angeben, einschließlich derer, die eine SSH-Verbindung aufrechterhalten. Gehen Sie dazu folgendermaßen vor:

  1. Verwenden Sie Ihren bevorzugten Texteditor, um die ~/.ssh/configDatei auf Ihrem lokalen Computer zu öffnen . Hinweis: Wenn das .sshVerzeichnis oder die Konfigurationsdatei nicht vorhanden sind, erstellen Sie sie.

  2. Fügen Sie der Konfigurationsdatei die folgenden Zeilen hinzu. Der Host- Wert kann ein beliebiger Name sein. Es ist einfach eine Bezeichnung für die anderen Einstellungen. Der Wert Hostname ist der Remote-Host, auf den Sie zugreifen möchten. Ersetzen Sie example.com durch Ihren Domainnamen. Ersetzen Sie den Benutzernamen durch Ihren eigenen Hosting-Kontonamen:


    Host example
        Hostname example.com
        Port 7822
        User username
        ServerAliveInterval 240
        ServerAliveCountMax 2

Bei dieser Konfiguration sendet der SSH-Client alle 240 Sekunden (4 Minuten) ein Paket an den Server, um die Verbindung aufrechtzuerhalten. Wenn der Client nach zwei Versuchen keine Antwort erhält (wie in der ServerAliveCountMax-Einstellung angegeben), wird die Verbindung geschlossen.

Geben Sie man ssh_configin der Befehlszeile detaillierte Informationen zu allen verfügbaren SSH-Konfigurationseinstellungen ein .

  1. Speichern Sie die Änderungen in der Konfigurationsdatei.

  2. Stellen Sie mit SSH eine Verbindung zu Ihrem Konto her. Geben Sie dazu einfach ssh example ein, wobei example den in Schritt 2 angegebenen Hostwert darstellt.

Überwachen Sie die Verbindung. Wenn es immer noch abfällt, verringern Sie die ServerAliveIntervalEinstellung in der Konfigurationsdatei schrittweise, bis die Verbindung stabil ist.

Überprüfen Sie die folgende URL für weitere Details https://www.a2hosting.com/kb/getting-started-guide/accessing-your-account/keeping-ssh-connections-alive

Haitham A. El-Ghareeb
quelle
4

Sie können diese Argumente auch wie folgt in den Befehl ssh einfügen ...

ssh -o ServerAliveInterval=180 -o ServerAliveCountMax=2 $HOST
trueCamelType
quelle