it-swarm.com.de

Halten Sie die SSH-Sitzung am Leben

Ich benutze ssh -p8520 [email protected]_Host, um den Remote-Server anzumelden.

Problem:

Es ist immer verbunden und funktioniert einwandfrei, wenn ich am Arbeitsplatz bin. Leider friert das Terminal 10-15 Minuten nach dem Herstellen einer Verbindung mit dem Remote-Server von zu Hause aus ein.

Es gibt keinen Fehler-/Zeitüberschreitungsbericht auf der Konsole, aber der Cursor kann sich nicht mehr bewegen.

Wenn Sie eintreten w Um die angemeldeten Benutzer zu überprüfen, sind einige Zombies angemeldet, und ich muss sie manuell töten.

Das ist ziemlich nervig. Kann mir jemand helfen?

196
Haifeng Zhang

Der ssh-Daemon (sshd), der serverseitig ausgeführt wird, schließt die Verbindung serverseitig, wenn der Client stumm geschaltet wird (d. H. Keine Informationen sendet). Um einen Verbindungsverlust zu vermeiden, weisen Sie den ssh-Client an, von Zeit zu Zeit ein Lebenszeichensignal an den Server zu senden.

Die Konfiguration dafür befindet sich in der Datei $HOME/.ssh/config, erstelle es, wenn die Konfigurationsdatei nicht existiert. Fügen Sie die folgende Konfigurationsdatei ein, um das Signal alle vier Minuten (240 Sekunden) an den Remote-Host zu senden:

Host remotehost:
    HostName remotehost.com
    ServerAliveInterval 240

Fügen Sie die folgenden Inhalte in die Konfigurationsdatei ein, um das Senden eines Keep-Alive-Signals für alle Hosts zu aktivieren:

Host *
    ServerAliveInterval 240

Die Konfigurationsdatei darf nicht für die ganze Welt lesbar sein. Führen Sie dazu Folgendes aus:

chmod 600 ~/.ssh/config
359
rockymonkey555

Ich wollte eine einmalige Lösung:

ssh -o ServerAliveInterval=60 [email protected]

Gespeichert in einem Alias:

alias sshprod='ssh -v -o ServerAliveInterval=60 [email protected]'

Jetzt kann man sich so verbinden:

[email protected]:~$ sshprod
117
Ryan

Für diejenigen, die sich fragen, @ Edward-Coast

Wenn Sie das Keepalive setzen möchten für den Server , fügen Sie dies zu /etc/ssh/sshd_config Hinzu:

ClientAliveInterval 60
ClientAliveCountMax 2

ClientAliveInterval : Legt ein Zeitlimit in Sekunden fest, nach dessen Ablauf sshd (8) eine Nachricht über den verschlüsselten Kanal sendet, wenn keine Daten vom Client empfangen wurden um eine Antwort vom Kunden anzufordern.

ClientAliveCountMax : Legt die Anzahl der Client-Alive-Nachrichten fest (siehe unten), die gesendet werden dürfen, ohne dass sshd (8) Nachrichten vom Client zurückerhält. Wenn dieser Schwellenwert erreicht wird, während Client-Alive-Nachrichten gesendet werden, trennt sshd den Client und beendet die Sitzung.

39
Jeff Davenport

PuTTY settings

Zu Ihrer Information Benutzer können die Optionen hier einstellen

14
Ruben Benjamin

Wir können unsere SSH-Verbindung aufrechterhalten, indem wir die folgenden globalen Konfigurationen verwenden

Fügen Sie die folgende Zeile zum /etc/ssh/ssh_config Datei:

ServerAliveInterval 60
10
minhas23