Terminal Fehler – Write Failed: broken pipe
Als Entwickler und Linux User lernt man an fast jedem Tag etwas neues. So auch heute als mein Terminal am Server nach einem längeren Import Skript einfror und nach einiger Zeit die Fehlermeldung: Write Failed: broken pipe ausgab. Ein Problem für das es sicher eine einfache Lösung gibt oder?
Terminal Fehler – Write Failed: broken pipe
Die Lösung für das Problem findet man in der SSH Konfiguration. Dort können wir sowohl für den Server als auch für den Client das Alive Interval einstellen. Dieses Timeout bestimmt ab wann die Session automatisch beendet wird. Passiert das nur auf dem Server, dann kommt es zu der Fehlermeldung „Write Failed: broken pipe“. Am Server wurde die Verbindung beendet, jede weitere Datenübermittlung endet erfolglos. Wir öffnen nun einfach die /etc/ssh/ssh_config mit root Rechten und fügen unter Host * die folgende Zeile ein:
1 2 | Host * ServerAliveInterval 120 |
Schon beim nächsten neu gestarteten Terminal gelten diese Einstellungen. Neben dem ServerAliveInterval kann man auch den ClientAliveInterval setzten, dies müsste man aber am Server einstellen. In meinem Fall war das nicht nötigt – zum Glück, denn ich habe keine Root Rechte auf dem Server.
TCPKeepAlive und ClientAliveCountMax
In diesem Zusammenhang sind auch noch zwei weitere Parameter interessant die man in der selben Konfigurationsdatei einstellen kann.
- TCPKeepAlive
Diese Option ist standardmäßig aktiv (also Yes) und sendet laufend TCP Meldungen. Dadurch kann von beiden Seiten festgestellt werden, ob das andere System eventuell abgestürzt ist und deshalb nicht mehr antwortet. Dadruch können korrekte Fehlermeldungen ausgegeben und die Verbindung sauber beendet werden. - ClientAliveCountMax
Dieser Wert ist standardmäßig auf 3. Es bestimmt die maximale Anzahl an Meldungen die ohne Antwort toleriert werden bevor die Verbindung getrennt wird.
Sollte es trotz neuem ServerAliveInterval immer noch zu Problemen kommen, dann kann man auch mit diesen Werten probieren.
Fazit
Bricht eine aktive SSH Verbindung mit der „write failed: broken pipe“ Fehlermeldung ab, dann ist das Problem recht einfach zu beheben. Ich habe euch gezeigt welche Parameter man in der SSH Konfiguration entweder am Client oder am Server verändern muss.