SSH KeepAlive

So wie mir heute ist es bestimmt schon vielen von Euch passiert … der Arbeitsrechner musste neu aufgesetzt werden. Ich hatte mich nach dem Restore meiner Kiste mit dem ersten Server via SSH verbunden und nach dem ersten Kaffee-fassen war die entsprechend geöffnete SSH Session „no longer established“.
Dieses leicht nervende Standardverhalten des SSH Client kann unter Linux recht leicht an die persönlichen Wünsche und Bedürfnisse angepasst werden und eben das will ich in ein paar kurzen Zeilen beschreiben …
Es gibt mehrere Möglichkeiten die Keep-Alive Einstellungen einzurichten. Entweder es wird eine pauschale Einstellung vorgenommen ( was für bestimmt beinahe alle Anwendungsfälle die zu wählende Option sein wird ) oder es gibt eine User- respektive Host-basierte Einstellungsmöglichkeit.
Die einfachste und eben auch „pauschale Version“ erfolgt durch einen Eintrag in der /etc/ssh/ssh_config Datei, welcher folgendermaßen aussehen soll:
ServerAliveInterval 90
Die Zeitangabe ( im obigen Beispiel die „60“ ) ist ein Ganzzahlenwert als Sekundenangabe. Nach Ablauf eben dieser, dort definierten Zeit pollt der SSH Client, sollte in dieser Zeit keine User-Interaktion stattgefunden haben, einmal kurz den verbundenen Server an um eben die SSH Session nicht zu verlieren.
Nun kann dies auf einen speziellen User des entsprechenden Linux Client heruntergebrochen werden. Dazu wird die Datei ~/.ssh/config angepasst, beziehungsweise falls diese nicht existiert einfach, mit folgendem Inhalt angelegt:
Host * ServerAliveInterval 90
Wichtig ist hier das Leerzeichen vor dem Eintrag in der zweiten Zeile !
Tja und wie sollte es nun auch anders sein ( man kann es schon beinahe aus der obigen Konfiguration erraten ), lässt sich ebenfalls noch der entsprechende, anzusprechende Host auf Wunsch vordefinieren, für welchen eben dieses Timeout Setting greifen soll. Auch hier ist die Syntax denkbar einfach:
Host meinhost.meinedomain.com
ServerAliveInterval 90