Warum trennt PuTTY die Verbindung automatisch nach einer bestimmten Zeit der Inaktivität?
- Kurzüberblick: Verbindungsabbrüche bei Inaktivität
- TCP- und NAT-Timeouts als häufige Ursache
- Keepalive-Mechanismen in SSH und PuTTY
- Serverseitige Einstellungen und Sicherheitsrichtlinien
- Fehlersuche und Gegenmaßnahmen
- Sicherheitsaspekte und Nebenwirkungen
Kurzüberblick: Verbindungsabbrüche bei Inaktivität
PuTTY selbst trennt Verbindungen nicht willkürlich; häufige automatische Abbrüche bei Inaktivität entstehen durch Zeitüberschreitungen irgendwo im Netzwerkpfad oder auf dem Server. Verantwortlich können Einstellungen in PuTTY, das SSH-Serverkonfigurationsverhalten, Router/Firewalls oder NAT/Stateful-Timeouts sein. Ziel solcher Mechanmen ist Ressourcenverwaltung und Sicherheit.
TCP- und NAT-Timeouts als häufige Ursache
Viele Netzwerkgeräte wie Router, Firewalls oder NAT-Gateways verwalten TCP-Verbindungen über Zustandsinformationen. Wenn über längere Zeit keine Pakete fließen, entfernen diese Geräte die Verbindungseinträge, weil sie sie für inaktiv halten. NAT/Stateful-Timeouts sind oft kürzer als SSH-Idle-Intervalle: nach Ablauf dieser Zeit werden eingehende Pakete vom entfernten Endpunkt nicht mehr korrekt zum internen Ziel weitergeleitet, wodurch PuTTY „verloren“ erscheint und die Sitzung abbricht.
Keepalive-Mechanismen in SSH und PuTTY
SSH-Protokoll und PuTTY bieten Keepalive-Mechanismen, um aktive Verbindungen trotz längerer Leerlaufphasen aufrechtzuerhalten. PuTTY kann zwei Typen senden: Null-Byte-Probe-Pakete auf TCP-Ebene oder SSH-Level-Keepalives (Ignorieren-Nachrichten). Diese periodischen Pakete erzeugen Verkehr, der Netzwerkgeräte daran hindert, die Verbindung als inaktiv zu betrachten. Ohne solche Pakete beendet der Server oder ein zwischengeschaltetes Gerät die Verbindung nach seiner Timeout-Politik.
Serverseitige Einstellungen und Sicherheitsrichtlinien
SSH-Server (z. B. OpenSSH) können in der Konfiguration Zeitlimits setzen, etwa ClientAliveInterval und ClientAliveCountMax. Damit kann der Server inaktive Clients nach einer definierten Zeit getrennt oder geprüft werden. Sicherheitsrichtlinien in Firmennetzwerken setzen ebenfalls oft strenge Idle-Timeouts durch, um passive Sessions zu reduzieren und Missbrauch zu erschweren.
Fehlersuche und Gegenmaßnahmen
Um die Ursache einzugrenzen, kann man testen, ob der Abbruch auch bei kleinen periodischen Datenpaketen auftritt. In PuTTY lässt sich unter Connection → Seconds between keepalives die Intervalldauer einstellen, um alle n Sekunden ein Keepalive zu senden. Alternativ kann man serverseitig Keepalive- oder SSH-Konfigurationswerte anpassen. Wenn eine Firewall oder ein NAT-Gerät verantwortlich ist, hilft oft ein kürzerer Keepalive-Interval oder eine Anpassung der Geräte-Timeouts durch den Netzwerkadministrator.
Sicherheitsaspekte und Nebenwirkungen
Keepalives verhindern zwar Abbrüche, erhöhen aber auch die Anzahl der Verbindungen, die länger aktiv bleiben, was in sicherheitskritischen Umgebungen unerwünscht sein kann. Außerdem erzeugen sehr kurze Intervalle unnötigen Traffic. Deshalb ist ein ausgewogenes Intervall zu wählen und Änderungen in Abstimmung mit Sicherheitsrichtlinien vorzunehmen.
Wenn du willst, kann ich dir konkrete PuTTY- oder Servereinstellungen vorschlagen, passend zu deinem Szenario.
