SSH funktioniert plötzlich nicht mehr: "Schreiben fehlgeschlagen: Rohrbruch"

9

Ich benutze zu Hause ein MacBook Pro und ssh regelmäßig in die Maschinen in meinem Labor. In den letzten drei bis vier Tagen erhalte ich jedoch immer dann, wenn ich im Labor SSH in die Maschine einsetze, einen Fehler beim Schreiben fehlgeschlagen: Rohrbruch, kaum innerhalb von zwei Minuten nach dem Senden.

Die Tatsache, dass vor ein paar Tagen alles perfekt funktioniert hat, verblüfft mich und jede Hilfe, um die Dinge wieder zum Laufen zu bringen, wäre sehr dankbar.

NSR
quelle
2
Benutzt du ServerAliveIntervaloder nicht? Wenn nicht, versuchen Sie es einzustellen.
0xC0000022L
Ja, ich bin. Es ist auf 30 eingestellt. Ich habe 15, 30, 60 ausprobiert und es hat die Leistung (oder das Fehlen davon) nicht beeinflusst
NSR
Haben Sie versucht, 1SSH von einem anderen Computer ins Labor zu bringen, um festzustellen, ob es sich um das MacBook handelt? und 2SSH vom MacBook auf einen anderen Computer, um zu sehen, ob es sich um das Labor handelt? herauszufinden, welche, wenn
beides
Nun, ich habe meinen Laptop verwendet, um SSH auf denselben Computern aus einem anderen Netzwerk (einem Universitätsnetzwerk) durchzuführen, und es hat einwandfrei funktioniert. Ich vermute, dass mit meinem Heimnetzwerk etwas Seltsames passiert.
NSR

Antworten:

11

Dies scheint ein Netzwerkproblem zu sein.

Erkundigen Sie sich, ob sich ein Netzwerkgerät geändert hat oder neu konfiguriert wurde. Teilen Sie Ihrem Netzwerkadministrator mit, dass Sie Probleme beim Einschalten haben. Möglicherweise liegt eine Fehlkonfiguration in einer Firewall vor. Versuchen Sie, sich von anderen Computern oder anderen Computern aus anzumelden, um die Diagnose zu verbessern.

Eine mögliche Ursache für diese Symptome ist ein IP-Adresskonflikt. Überprüfen Sie, woher der Client und der Server ihre IP-Adresse beziehen. Wenn Sie ping server.example.comweiterlaufen, hilft es dann, die Verbindung länger zu halten? In diesem Fall liegt ein IP-Adresskonflikt vor. ( pingDies hilft, weil es den Routern auf dem Weg zum Weiterleiten der IP-Pakete an Ihren Computer immer wieder mitteilt. Sie verlieren jedoch trotzdem die Verbindung, wenn der andere Computer eine ARP-Antwort vor Ihnen sendet.) Wenn dies das Problem ist, müssen Sie dies tun Beheben Sie das Problem: Lassen Sie eine der Maschinen, die dieselbe Adresse verwenden, eine andere Adresse verwenden.

Überprüfen Sie auch die Routing-Tabelle auf Ihrem Computer. Stellen Sie sicher, dass die Pakete an den Server an die richtige Schnittstelle weitergeleitet werden. (Während eine schlechte Routing-Tabelle normalerweise dazu führt, dass die Verbindung überhaupt nicht funktioniert, gibt es einen Randfall, in dem die Symptome die von Ihnen beschriebenen sind: Wenn Sie eine Adresse mit DHCP erhalten und der DHCP-Server auch der Server ist, den Sie kontaktieren - Die Adresse des DHCP-Servers wird an die gewünschte Schnittstelle weitergeleitet, bis Ihr ARP-Cache abläuft.)

Gilles 'SO - hör auf böse zu sein'
quelle
1
ah! Das Pingen eines beliebigen Servers scheint (bisher) zu funktionieren. Es scheint ein Zusammenprall von IP-Adressen zu sein. Ich werde weiter nachforschen und sicherstellen, dass dies nicht geschieht. Vielen Dank !!
NSR
Hallo Gilles, Danke für die gegebene Lösung. Ich behebe dieses Problem ab 5 Tagen, indem ich ssh-Parameter usw. konfiguriere ... Aber es hat nicht funktioniert. Ihre Lösung hat mir sehr geholfen. Danke vielmals.
Rajasekhar
1

Dies kann auf Paketverlust zurückzuführen sein. Mit einem Tool wie mtrkönnen Sie diagnostizieren, welcher der Hosts in der Route Probleme verursacht. Hier finden Sie die Anweisungen zur Installation unter Mac OS X.

Frederik Deweerdt
quelle
1

Ich hatte dieses Problem bei einigen Servern im Hauptbüro und löste es mit:

TCPKeepAlive yes
ServerAliveInterval 5

in der ssh config file ( ~/.ssh/config or /etc/ssh/ssh_config).

Erst später stellte ich fest, dass es an einer installierten Hardware lag, um die Kommunikation zwischen den störenden Büros zu optimieren.

Anthon
quelle
1

Ich habe mein Problem in Mac OS X gelöst, ich habe das geändert

#ClientAliveInterval 0

zu

ClientAliveInterval 300

in /etc/sshd_configfolgenden dies , und starten Sie den Rechner, fertig.

beleuchten
quelle
1
Unter MAC OS X 10.12.6 war in / etc / ssh / sshd_config
WebOrCode