Einige übereifrige Router verwerfen gerne TCP-Verbindungen, die zu lange inaktiv sind (d. h. keine Daten übertragen). Dies könnte daran liegen, dass sie davon ausgehen, dass der Benutzer nur Dinge wie HTTP verwendet, bei denen die Verbindung oft geschlossen wird, nachdem eine einzelne Abfrage abgeschlossen ist.
Unter der Annahme von OpenSSH verwenden Sie den ClientAliveInterval
und ClientAliveCountMax
Anweisungen in sshd_config
, oder entsprechend ServerAliveInterval
und ServerAliveCountMax
in der clientseitigen Konfiguration (~/.ssh/config
oder /etc/ssh/ssh_config
), um Keepalive-Pakete auf Protokollebene zu aktivieren.
Sie sollen eigentlich feststellen, ob der entfernte Host weggegangen ist, aber da sie bewirken, dass Nachrichten gesendet werden, wenn die Verbindung ansonsten im Leerlauf ist, verhindern sie auch, dass die Verbindung von externen Geräten als im Leerlauf angesehen wird.
*AliveInterval
Intervall, nach dem der Client/Server eine Anfrage an die Gegenstelle sendet, und *AliveCountMax
legt die Anzahl unbeantworteter Anfragen fest, nach denen der Client/Server die Verbindung als inaktiv beendet.
So etwas wie diese Werte sollten ausreichen:
ClientAliveInterval 15
ClientAliveCountMax 4