Wenn ich von zu Hause aus auf einen unserer Office-Server (auf denen Fedora 10 ausgeführt wird) ssh'ed, läuft meine Sitzung nach einer relativ kurzen Aktivitätsdauer (ca. 5 Minuten) ab. Ich habe versucht, TcpKeepAlive
auf der Client-Seite zu verwenden, ohne Wirkung.
Das, was ich nicht verstehe, ist, dass ich, wenn ich im LAN des Unternehmens im Büro bin, eine Sitzung den ganzen Tag inaktiv lassen kann, ohne dass das Zeitlimit überschritten wird. Das Verhalten scheint also von meinem Standort abhängig zu sein.
Irgendwelche Ideen, warum dies geschieht und wie Sie Zeitüberschreitungen verhindern, wenn ich nicht im LAN bin? Ich verwende den Terminal-Client unter Mac OS X, wenn das hilft.
UPDATE - Dave Dragers Vorschlag, den ServerAliveInterval
Satz auf einen Wert ungleich Null zu setzen, TcpKeepAlive=no
hat für mich funktioniert. Bei einigen anderen Antworten werden die ClientAlive
Einstellungen ... vom Mac OSX SSH-Client nicht akzeptiert.
Dies liegt wahrscheinlich daran, dass Sie beim Herstellen einer Verbindung von zu Hause aus eine Firewall passieren, durch die die TCP-Sitzung nach kurzer Zeit geschlossen wird. TcpKeepAlive sollte dies jedoch vermeiden. Haben Sie TcpKeepAlive auf Client- oder Serverseite aktiviert?
quelle
Ich bekomme das die ganze Zeit über auf meiner Comcast-Verbindung. Das Problem ist, dass das Keep-Alive-Intervall Ihres SSH-Clients für das in Ihrem Netzwerkpfad konfigurierte Timeout zu lang ist. Wenn Sie auf Linux sind, können Sie die ändern
ServerAliveInterval
undServerAliveCounter
Werte niedriger zu sein als die Standardwerte. Dieser Wert wird in Sekunden eingestellt. Die systemweite Konfigurationsdatei befindet sich (allgemein) in/etc/ssh/ssh_config
. Wenn Sie diese beiden UND-VerknüpfungenTcpKeepAlive
festlegen, bleibt Ihre Verbindung bestehen.quelle
Wie der Radius sagt, "vergessen" einige Firewalls mit vollem Status eine Verbindung nach einer bestimmten (normalerweise konfigurierbaren) Zeit und lassen keine weitere Kommunikation für die Verbindung zu. Sie erwarten, dass die Verbindung mit einem TCP-SYN beginnt (ich beziehe mich hier auf Ihre SSH-Kommunikation).
Es gibt noch eine andere Möglichkeit. Der Netzwerkpfad zwischen Ihrem Zuhause und Ihrem Büro kann Verluste aufweisen (von der Art eines Pakets). Wenn Sie versuchen, auf dem SSH-Client zu tippen, gibt der Client möglicherweise auf und schlägt fehl, wenn Ihr Link für eine Weile blockiert ist.
Die Keepalive-Konfiguration auf dem Client behandelt hier den ersten Fall, kann jedoch im zweiten Fall nicht helfen. Die Firewall befindet sich normalerweise in Ihrem Büro und kann daher konfiguriert werden. Das würde auch im ersten Punkt helfen.
Um zu überprüfen, ob zeitweise Verbindungsverluste auftreten, können Sie im Hintergrund einen Ping-Befehl von Ihrem Client-Computer aus aktivieren.
quelle
Sie können auch die von anderen vorgeschlagenen Einstellungen als Standardeinstellungen in Ihre
~/.ssh/config
Datei einfügen , damit Sie sie nicht beissh
jedem Verbindungsaufbau erneut übergeben müssen:nano ~/.ssh/config
und füge hinzu:quelle