Cygwin-SSH-Sitzung am Leben erhalten [duplizieren]

4

Ich habe ein kleines Problem mit dem Zugriff auf entfernte RedHat-Server von einem Windows-Computer mit dem Cygwin-SSH-Client.

Ich führe einige recht zeitaufwändige QS-Skripts auf dem Remote-RedHat-Computer aus, indem ich mich von meinem Windows-Heimcomputer aus anmelde. Auf der Client-Seite verwende ich Cygwin SSH in einem normalen Cygwin-Konsolenfenster. Solange ich interaktiv arbeite (dh Befehle über die Befehlszeile ausführe), ist alles in Ordnung. Wenn ich das Skript starte, funktioniert alles einwandfrei, solange das Skript sichtbare Aktivitäten auf dem Terminal erzeugt, dh solange etwas auf dem Bildschirm gedruckt wird. Wenn jedoch eine erhebliche Pause in der Ausgabe auftritt, wird die Verbindung zum RedHat-Computer mit der Meldung "Write Failed: Connection reset by peer" (Schreiben fehlgeschlagen: Verbindung von Peer zurückgesetzt) ​​unterbrochen.

Ist das eine Art Timeout / Keep-Alive-Problem? Und wenn ja, was muss ich konfigurieren, um dies zu verhindern? Und wo (Server- oder Client-Seite)?

Ameise
quelle
Ich hatte ein Problem mit Keepalive, das nicht in Cygwin funktionierte, und habe es behoben, indem ich ssh von 8.0 auf 7.9
heruntergestuft habe

Antworten:

5

Ändern Sie die Zeitüberschreitungen :

Konfigurieren Sie den Server

Öffnen Sie / etc / ssh / sshd_config und suchen Sie die Option ClientAliveInterval (falls nicht, fügen Sie sie hinzu). Der Wert ist in Sekunden, also ging ich mit 540 Sekunden oder 9 Minuten.

ClientAliveInterval 540

Konfigurieren Sie den Client

Bearbeiten Sie / etc / ssh / ssh_config und suchen Sie die ServerAliveInterval-Option (falls nicht, fügen Sie sie hinzu). Auch dieser Wert wird in Sekunden angegeben, sodass ein 9-Minuten-Intervall 540 Sekunden beträgt.

ServerAliveInterval 540

Außerdem kann autossh dein guter Freund sein .

dtmland
quelle
2

Es ist höchstwahrscheinlich ein Timeout. Um dies zu verhindern, können Sie die folgende Einstellung in verwenden~/.ssh/config

ServerAliveInterval <keepalive-interval>

Senden eines Keepalive-Pakets alle <Keepalive-Intervall> Sekunden.

Aaron Miller
quelle