Mir ist vorallem bei Verbindung zu schrecklichen Suse Boxen des öfteren aufgefallen das dort ebenfalls die Verbindung nach einer bestimmten IDLE Time einfach geschlossen wird. Auch könnte es an Routern oder dementsprechende Firewallregeln liegen.
Bisher konnte ich das Problem aber immer damit lösen das man automatische Ping Alive Packete über SSH schicken kann.
Trag auf deinen Server mal in der /etc/ssh/sshd_config folgende Zeilen ein:
Dadurch wird nach jede 30 sekunden idle zeit ein alive packet über die SSH Verbindung geschickt und der Server schaut ob du noch da bist. Bist du da, dann ist alles okay. Sollte der Server 4 mal ein alive packet geschickt haben und von dir kommt keine Antwort dann wird die SSH Verbidnung getrennt.
Die Auswirkung darauf ist einfach das alle 30sek. idle zeit ein Packet gesendet wird über die SSH Verbindung. Dadurch wird verhindern das irgendeine Firewall z.B. Verbindungen beendet weil dort seit längerer Zeit nichts mehr gesendet/empfangen wurde.
Generell ist es nicht schlecht diese zwei Parameter zu setzen.
Nach dem setzen musst du natürlich den SSH Daemon einmal neu starten und ganz wichtig, du musst einmal eine komplett neue SSH Verbindung aufbauen. Auf bereits vorhandene SSH verbindung selbst nach einem Restart wirkt sich das nicht aus.
Zumindest wäre es meine Vermutung das es daran liegt.