Ich benutze, ssh -p8520 username@remote_host
um Remote-Server anzumelden.
Problem :
Es ist immer verbunden und funktioniert einwandfrei, wenn ich am Arbeitsplatz bin. Leider friert das Terminal innerhalb von 10 bis 15 Minuten ein, nachdem ich mich von zu Hause aus mit dem Remote-Server verbunden habe.
Es gibt keinen Fehler- / Zeitüberschreitungsbericht auf der Konsole, aber der Cursor kann sich nicht mehr bewegen.
Bei der Eingabe w, um die Login-Benutzer zu überprüfen, sind einige Zombies-Login-Benutzer vorhanden, und ich muss sie manuell töten.
Das ist ziemlich nervig. Kann mir jemand helfen?
screen
. Vielleicht ist dies eine Art Timeout-Problem.screen
hilft, das Programm am Laufen zu halten. Leider muss ich manchmal auf dem Remote-Server arbeiten :(screen
nur? Es kann das Problem der verlorenen Verbindung lösen? Neinscreen -S screenName
? Ich benutze immer Bildschirm mit-S
und-r
screen
. Sie scheinen das bereits zu wissen;)Antworten:
Der ssh-Daemon (sshd), der serverseitig ausgeführt wird, schließt die Verbindung von der Serverseite, wenn der Client stumm geschaltet wird (dh keine Informationen sendet). Um einen Verbindungsverlust zu vermeiden, weisen Sie den SSH-Client an, ab und zu ein Lebenszeichen-Signal an den Server zu senden.
Die Konfiguration hierfür befindet sich in der Datei
$HOME/.ssh/config
. Erstellen Sie die Datei, falls sie nicht vorhanden ist (die Konfigurationsdatei darf nicht für die Welt lesbar sein. Führen Sie sie daherchmod 600 ~/.ssh/config
nach dem Erstellen der Datei aus). Fügen Sie Folgendes in diese Konfigurationsdatei ein, um das Signal z. B. alle vier Minuten (240 Sekunden) an den Remote-Host zu senden:Fügen Sie den folgenden Inhalt in die Konfigurationsdatei ein, um das Senden eines Keep-Alive-Signals für alle Hosts zu ermöglichen:
quelle
ServerAliveInterval
während der Server verwendetClientAliveInterval
. Was für ein Chaos.Ich wollte eine einmalige Lösung:
Gespeichert in einem Alias:
Jetzt kann man sich so verbinden:
quelle
Host *
&ServerAliveInterval 240
(oder geben Sie den Hostnamen an, wenn Sie ihn nur[email protected]
wie in der Antwort von rockymonkey555 verwenden möchten ? Das Festlegen eines Alias scheint in keiner Weise einfacher zu sein.alias ssh='ssh -o ServerAliveInterval=60'
ServerAliveInterval
zu60
, groß. Es.ssh/config
ist jedoch einfach albern , einen Bash-Alias zu verwenden, wenn Sie ihn verwenden könnten .Für diejenigen, die sich fragen, @ Edward-Coast
Wenn Sie die Keep Alive-Funktion für den Server festlegen möchten , fügen Sie Folgendes hinzu
/etc/ssh/sshd_config
:quelle
ClientAliveInterval
den Server auf lebendigen Client prüfen lassen oder soll der Client den ServerServerAliveInterval
wiederholt "pingen" lassen ? Beides scheint keinen Sinn zu ergebenClientAliveInterval
auf dem Server , wenn der Server auf toten Verbindungen trennen wollen , die nicht reagieren zu tun, und Sie können festlegen , wie oft und wann das passiert.Zu Ihrer Information Kitt Benutzer können die Optionen hier einstellen
quelle
Wir können unsere SSH-Verbindung am Leben erhalten, indem wir die folgenden globalen Konfigurationen verwenden
Fügen Sie der
/etc/ssh/ssh_config
Datei die folgende Zeile hinzu :quelle