web-dev-qa-db-de.com

PuTTY-Netzwerkfehler: Software verursachte Verbindungsabbruch

Ich habe ein seltsames Problem: Wenn ich PuTTY mit SSH verwende, um eine Verbindung zu einem Linux-Server herzustellen, der in VMware auf meinem lokalen Windows 7 gehostet ist, wird häufig die Fehlermeldung "Network error: Software caused connection abort" und dann PuTTY SSH angezeigt Fenster ist inaktiv. Normalerweise kann ich mich mit PuTTY auf dem Server anmelden und etwas tun, aber nach einer zufälligen Zeit (ungefähr ein oder zwei Minuten) erhalte ich diesen Fehler. Und manchmal kann ich mich sogar nicht einloggen, und es wird eine Fehlermeldung angezeigt, dass die Zeit abgelaufen ist.

Ich vermute, mit meinem VMware Player stimmt etwas nicht, weil ich einen anderen Ubuntu-Desktop in VMware als Code-Repository-Server habe und es bei einem SVN-Update/-Commit häufig einen Timeout-Fehler gibt. Ich vermute jedoch auch, dass Windows 7 eine gewisse Eigenheit hat, da derselbe Ubuntu-Server, der in VMware als Code-Repository gehostet wird, unter Windows Vista sehr gut funktioniert! Es scheint, dass all die schlechten Dinge passieren, nachdem ich von Windows XP auf Windows Vista und dann auf Windows 7 umgestiegen bin!

Was könnte der Grund für dieses Problem sein und wie kann es behoben werden?

Ergänzung :

Ich habe eine Google-Suche durchgeführt und alle Methoden angewendet, um zu helfen, einschließlich:

  1. Enable sshd TCPKeepAlive
  2. Setze sshd ClientAliveInterval auf 900 und ClientAliveCountMax auf 3
  3. Setzen Sie die PuTTY-Verbindungseinstellung 'Sekunden zwischen Keepalives' auf 5.

Aber das alles funktioniert nicht! Und die SSH-Sitzung in PuTTY bricht nach einiger Zeit immer noch ab!

Ich habe sowohl die Linux-Server-Firewall als auch die Windows 7-Client-Firewall ausgeschaltet, aber beim Anmelden tritt immer noch eine Zeitüberschreitung auf! Es ist wirklich nervig!

Es scheint, dass ich mich manchmal einloggen kann, aber manchmal melde ich mich mal ab! Ich weiß wirklich nicht warum. Es macht mich verrückt!

Eine Sache, die ich erwähnen muss, ist, dass wenn ich PuTTY SSH verwende, eine Verbindung zu einem Remote-Server hergestellt wird und alles in Ordnung ist!

Wenn ich mich nicht einloggen konnte, schlug auch der Ping fehl! Aber wie kann das passieren? Ich verwende VMware Player, um den Linux-Server auf meinem lokalen Computer zu hosten!

77
Robert

PuTTY hat eine Funktion, die versucht, dieses Problem zu beheben:

Network Error: Software caused connection abort
  1. Starten Sie PuTTY
  2. Laden Sie Ihre Verbindungseinstellungen, wenn Sie sie gespeichert haben
  3. Klicken Sie auf "Verbindung"
  4. Im Abschnitt "Senden von Null-Paketen, um die Sitzung aktiv zu halten" wurde der Wert in 5 Sekunden geändert. 300 Sekunden sind möglicherweise besser, wenn Netzwerkausfälle Ihr Problem sind. Weitere Informationen finden Sie weiter unten.

enter image description here

Wie man eine Trennung mit PuTTY verhindert:

Einige Netzwerkrouter und Firewalls müssen alle Verbindungen über sie verfolgen. In der Regel gehen diese Firewalls davon aus, dass eine Verbindung unterbrochen ist, wenn nach einem bestimmten Zeitintervall keine Daten in eine der beiden Richtungen übertragen werden. Dies kann dazu führen, dass PuTTY-Sitzungen von der Firewall unerwartet geschlossen werden, wenn einige Zeit lang kein Datenverkehr in der Sitzung festgestellt wird.

Mit der Keepalive-Option ("Sekunden zwischen Keepalives") können Sie PuTTY so konfigurieren, dass Daten in regelmäßigen Abständen durch die Sitzung gesendet werden, ohne die eigentliche Terminalsitzung zu stören. Wenn Sie feststellen, dass Ihre Firewall inaktive Verbindungen unterbricht, können Sie versuchen, in dieses Feld einen Wert ungleich Null einzugeben. Der Wert wird in Sekunden gemessen. Wenn Ihre Firewall beispielsweise die Verbindung nach zehn Minuten unterbricht, möchten Sie möglicherweise 300 Sekunden (5 Minuten) in das Feld eingeben.

Reduzieren Sie das Problem mit PuTTY Autologin und "Screen" -Tool

PuTTY kann nicht mit einem beschissenen WLAN umgehen, das minutenlang die Konnektivität verliert. Ein Workaround ist die Verwendung von Autologin und Screen.

Es ist für PuTTY ein nicht triviales Problem, Ihr Terminal nach einem minutenlangen Verlust der Internetverbindung neu zu synchronisieren. Sie laufen Gefahr, während eines Ausfalls in der Mitte Menschen anzugreifen. Sie müssten sich trotzdem erneut authentifizieren, um dies sicherzustellen. PuTTY legt dir das nicht auf, es lässt dich einfach fallen.

Verwenden Sie daher die automatische Anmeldung, damit PuTTY sich automatisch in Ihrem Namen anmelden kann.

  1. Erzeugen Sie einen privaten Schlüssel mit dem Puttygen-Tool auf dem Computer, mit dem Sie PuTTY sind.
  2. Fügen Sie den öffentlichen Schlüssel in Ihren /home/youruser/.ssh/authorized_keys auf der Serverseite ein, und melden Sie sich auf dem Server an, auf dem Sie PuTTY verwenden.
  3. Machen Sie den privaten Schlüssel in den PuTTY-Einstellungen Verbindung-> SSH-> Authentifizierung für PuTTY zugänglich
  4. Fügen Sie den privaten Schlüssel hinzu, indem Sie die private Schlüsseldatei unter "Private Schlüsseldatei zur Authentifizierung" angeben.
  5. Speichern Sie die PuTTY-Verbindungseinstellungen.

Dann könnten Sie über PuTTY auf Ihre Verbindung doppelklicken, und Sie sollten direkt zum Terminal gelangen, ohne Benutzername/Passwort einzugeben.

Nun können Sie sich mit einer Tastaturkombination wie PuTTY bei dieser Verbindung anmelden F6. Also, wenn das WiFi schlecht geht und Sie fallen gelassen werden. Du drückst F6 runter und bist wieder eingeloggt.

ABER Sie verlieren immer noch den Zustand Ihres Terminals! Wie kann man das beheben? Verwenden Sie das "Bildschirm" -Programm. Erstellen Sie einen neuen Bildschirm, indem Sie "Bildschirm" eingeben. Ein neuer Bildschirm wird erstellt.

Wenn Sie rausgeschmissen werden und sich automatisch anmelden, können Sie erneut eine Verbindung zu Ihrem Bildschirm herstellen. Hier ist ein Tutorial, wie das geht: http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/

Es ist mühsam, screen einzugeben und die Verbindung jedes Mal neu herzustellen, wenn Sie fallen gelassen werden. Sie können also ein Skript schreiben, das "automatisch zum letzten verfügbaren Bildschirm zurückkehrt", um es transparent zu machen.

Also dann, wenn das PuTTY-Terminal einfriert. Es sieht so aus: Du machst ein verächtliches Schnupfen, drückst Alt + F4, um PuTTY zu schließen, drückst F6. Und in 6 Sekunden sind Sie wieder da, wo Sie aufgehört haben.

Theoretisch noch bessere Lösung

Theoretisch könnten Sie diesen gesamten oben genannten Prozess ausschreiben, sodass das Terminal erkennt, wenn es fallengelassen wurde, und alle oben genannten Schritte für Sie bei der Wiederherstellung der Internetverbindung ausführt. Wenn jemand ein Programm kennt, das dies automatisch tut, lass es mich wissen. Es wäre ordentlich.

Quellen:

http://the.earth.li/~sgtatham/PuTTY/0.58/htmldoc/Chapter4.html#config-keepalive

http://rafaelwolf.com/?p=516

58
Eric Leschinski

Fehlerbehebung beim PuTTY-Netzwerkfehler

Software caused connection abort

Lies was PuTTY über den Fehler zu sagen hat

Dies ist ein allgemeiner Fehler, der vom Windows-Netzwerkcode erzeugt wird, wenn eine hergestellte Verbindung aus irgendeinem Grund beendet wird. Dies kann beispielsweise der Fall sein, wenn Sie das Netzwerkkabel von der Rückseite eines mit Ethernet verbundenen Computers abziehen oder wenn Windows einen ähnlichen Grund zu der Annahme hat, dass das gesamte Netzwerk nicht mehr erreichbar ist.

Windows generiert diesen Fehler auch, wenn es auf dem Computer am anderen Ende der Verbindung aufgegeben hat und darauf reagiert. Wenn das Netzwerk zwischen Ihrem Client und Server ausfällt und Ihr Client versucht, einige Daten zu senden, unternimmt Windows mehrere Versuche, die Daten zu senden, und gibt dann die Verbindung auf und beendet sie. Dies kann insbesondere dann auftreten, wenn Sie nichts eingegeben haben, wenn Sie SSH-2 verwenden und PuTTY versucht, den Schlüssel erneut auszutauschen.

(Es kann auch vorkommen, wenn Sie in Ihrer Verbindung Keepalives verwenden. Andere Personen haben gemeldet, dass Keepalives diesen Fehler für sie beheben. (Es gibt Vor- und Nachteile von Keepalives.)

Uns ist kein Grund bekannt, warum dieser Fehler auftreten könnte, der einen Fehler in PuTTY darstellen würde. Das Problem besteht zwischen Ihnen, Ihrem Windows-System, Ihrem Netzwerk und dem Remote-System.

Probieren Sie einen anderen SSH-Client aus

Höchstwahrscheinlich liegt das Problem irgendwo zwischen PuTTY und dem Ziel-SSH-Server. Um dies zu beweisen, verwenden Sie einen anderen SSH-Client wie ( http://kitty.9bis.net ) und prüfen Sie, ob das Problem auch hier auftritt. Es wird wahrscheinlich das Problem von PuTTY isolieren.

Verdacht auf fleckige Internetverbindung

Das Problem kann die fleckige Internetverbindung sein. Internetkonnektivität Die Überwachung der Verfügbarkeit einer Internetverbindung ist eine gute Methode, um festzustellen, ob Ihr Internetdienstanbieter Pakete verliert, und ist schuld daran, dass PuTTY ausfällt. Holen Sie sich eine Software, die die Verfügbarkeit einer Internetverbindung testet. Zum Beispiel http://code.google.com/p/internetconnectivitymonitor/ . Häufiges und langes Trennen vom Internet verstößt gegen die Anforderungen des Internetdienstanbieters. Wenn dies der Fall ist, ist es schwierig zu beweisen, dass es die Schuld des ISP ist, da der technische Support diese Art von Problemen automatisch auf Ihrem Computer, Betriebssystem, Router und der Verkabelung zu Ihnen nach Hause schiebt. Wenn Sie das Kabel-Internet nutzen und in den Boonies leben, kann es sein, dass defekte Hardware in den Häusern Ihrer Nachbarn beim ersten Einschalten einige Sekunden/Minuten lang statische Aufladung der Leitung verursacht. Schließlich ist es möglich, dass das Netzwerk des Internetdienstanbieters zu Ihnen nach Hause defekte Hardware enthält. Die Kosten für ISPs, ihre Hardware zu ersetzen, sind so hoch, dass sie dies häufig nicht tun, es sei denn, es gibt genügend Abonnenten in einem Gebiet, um die Kosten zu rechtfertigen.

Den verkabelten/drahtlosen Router verdächtigen

Stellen Sie eine Verbindung über einen kabelgebundenen/kabellosen Router her? Wie alt ist es? Ihr Router könnte das Problem sein. Alte kabellose und kabelgebundene Technologien können veraltet sein und Verbindungen sporadisch trennen und neu starten, wodurch PuTTY abstürzt. Entfernen Sie diese Komponenten aus der Gleichung und prüfen Sie, ob das Problem dadurch behoben wird. Versuchen Sie es mit einer Kabelverbindung und/oder einem anderen Router, um festzustellen, ob das Problem dadurch behoben wird. Ich hatte einen Linksys WLAN-Router, der diesen langsamen Tod erleidet und Verbindungen abbricht und sie neu startet.

Verdacht auf das Betriebssystem, das die SSH-Verbindung bereitstellt

Der Computer, mit dem Sie eine Verbindung mit SSH herstellen, verfügt über eine Richtlinie für die Dauer von Sekunden, um SSH-Verbindungen aufrechtzuerhalten. Diese Zahl ist aus Sicherheitsgründen niedrig eingestellt, und Sie können sie erhöhen. Wo sich diese Einstellung befindet, hängt davon ab, welches Betriebssystem SSH bereitstellt.

Wenn Sie PuTTY über eine virtuelle Maschine verwenden

Wenn Sie PuTTY verwenden, um eine virtuelle Maschine zu durchlaufen, ist möglicherweise eine Richtlinie für die virtuelle Maschine vorhanden, die Ihre SSH-Verbindung zum Server unterbricht, wenn sie denkt, dass sie inaktiv ist. Das Erhöhen dieser Werte hängt davon ab, welche Software für die virtuelle Maschine und welches Betriebssystem Sie verwenden.

Wenn die Internetverbindung schlecht ist, können Sie die folgenden Probleme mit der SSH-Clientverbindung umgehen:

Wenn Ihr ISP eine instabile Verbindung bereitstellt, können Sie die Unterbrechungen mit "ssh autologin" lindern. Sie generieren einen öffentlichen und einen privaten Schlüssel. Und Sie weisen Ihren fremden Server an, automatisch jeden einzulassen, der einen genauen privaten Schlüssel bereitstellt. Es löst Ihr Problem nicht vollständig, aber wenn der Internetausfall eintritt, müssen Sie nur das Fenster schließen, auf ein Symbol doppelklicken und sofort ohne Eingabe eines Benutzernamens/Kennworts zur Befehlszeile Ihres Basisordners zurückkehren.

Dies wird Ihnen dabei helfen: Gibt es eine Möglichkeit, sich in PuTTY mit einem Passwort "automatisch anzumelden"?

9
Eric Leschinski

Führen Sie an einer Eingabeaufforderung mit erhöhten Rechten Folgendes aus:

C:\Windows\system32>netsh int tcp show global

Querying active state...

TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State          : enabled

Chimney Offload State               : automatic

NetDMA State                        : enabled

Direct Cache Acess (DCA)            : disabled

Receive Window Auto-Tuning Level    : normal

Add-On Congestion Control Provider  : none

ECN Capability                      : disabled

RFC 1323 Timestamps                 : disabled

Wenn Receive Window Auto-Tuning Level normal ist, treten Probleme auf. Deaktiviere es und dann sollte alles so funktionieren wie früher:

C:\Windows\system32>netsh int tcp set global autotuninglevel=disabled
4
user196773

Ich habe mit CentOS Servern von Windows-PCs aus gearbeitet und hatte das gleiche Problem mit PuTTY. Eine Sitzung dauerte nicht länger als 1-5 Minuten. Ich habe versucht, mit PuTTY-Einstellungen (Keepalives usw.) zu spielen, aber es hat überhaupt nicht geholfen.

Endlich habe ich die Lösung für meinen Fall gefunden. Ich habe TCP Dumps sowohl auf dem Client als auch auf dem Server aufgezeichnet. Ich habe festgestellt, dass während 25-30 Sekunden vor dem Trennen der Verbindung mehrere Neuübertragungen von TCP Segmenten im Speicherauszug des Clients (sowohl vom Client als auch vom Server) stattfinden und PuTTY schließlich RST sendet und die Sitzung mit beendet dieser Fehler. Im Server-Dump habe ich in diesem Zeitraum keine Segmente vom Client gesehen, sogar RST. Dies bedeutet, dass von Zeit zu Zeit keine TCP Segmente vom Client an den Server übermittelt werden. Dieser Zeitraum beträgt ca. 30-60 Sekunden. Ich habe den Fall mehrmals aufgezeichnet und es gab immer Neuübertragungen und endgültige RST von PuTTY. Wahrscheinlich wurden Pakete irgendwo auf der Route von Netzwerkgeräten verworfen.

Um das Problem zu umgehen, habe ich die maximale Anzahl der erneuten Datenübertragungen von dem Standardwert 5 auf 16 erhöht. Dies könnte verhindern, dass PuTTY die Verbindung zu schnell trennt. Die Variable lautet 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxDataRetransmissions'. Ich habe diese Variable manuell hinzugefügt, sie wurde ursprünglich nicht in der Registrierung von Windows definiert. Es hat geholfen! Jetzt sehe ich, dass PuTTY von Zeit zu Zeit hängt, aber es kommt immer wieder zur Arbeit.

Um das Problem zu beheben: 1. Zeichnen Sie einen TCP -Dump auf und suchen Sie nach Neuübertragungen und RST, bevor Sie die Verbindung trennen. 2. Wenn Sie dieselben Neuübertragungen/RST-Segmente finden, passen Sie die Anzahl der Neuversuche auf Server- oder Clientseite an (dies hängt von der Seite von RST ab).

Seien Sie vorsichtig: Das Ändern der Einstellungen für TCP gilt für alle Programme und das Betriebssystem.

3
Den

Der Fehler Netzwerkfehler: Software-verursachter Verbindungsabbruch von PuTTY tritt auf, wenn einIP-Adressenkonflikt(zwei oder mehr Computer haben dieselbe IP-Adresse) auf dem Netzwerk. (Ich hatte dieses Problem mit einem Raspberry Pi , dem dieselbe IP-Adresse vom DHCP Server zugewiesen wurde wie einem nicht autorisierten Gerät/Computer, der manuell so eingerichtet wurde, dass er dieselbe IP-Adresse verwendet.)

In diesem speziellen Fall liegt möglicherweise ein IP-Adressenkonflikt lokal auf dem Windows 7-Computer oder mit einem anderen Gerät im Netzwerk vor. Wireshark kann verwendet werden, um diese Art von Fehler erfolgreich aufzuspüren.

3
Peter Mortensen

Registerkarte "Verbindung": Bei "5" Sekunden am Leben bleiben und aktiviert

Aber noch wichtiger:

Verbindung ->SSH-> Kex , Max. Minuten vor dem nächsten Tastendruck : "2" (Standard ist 60).

Mein PuTTY verlor nach einer Weile seinen Schlüssel und verursachte eine Zeitüberschreitung. Das Fallenlassen dieses Wertes auf "2" Minuten löste das Problem. Ich bleibe jetzt auf unbestimmte Zeit in Verbindung.

2
Simon

Ich bin auf dasselbe Problem gestoßen, entweder mit einer WinSCP - Skript- oder GUI-Konsole. Schließlich stellte ich fest, dass dies mit der Geschwindigkeit zusammenhängt (Internetgeschwindigkeit - unser Server ist im Internet). Ich habe das Skript an einen anderen Ort im Netzwerk verschoben, an einen anderen Ort, und GUI und Skript sind nicht gut gelaufen.

Es wurde nach vielen Analysen und Sortierungen aussortiert.

1
Arun Vai

Der Fehler 10053 WSAECONNABORTED (durch Software verursachter Verbindungsabbruch) ist ein generischer Winsock - Fehler, der aus einer Reihe von Gründen ausgegeben werden kann.

Die offizielle Erklärung lautet:

Dieser Fehler kann auftreten, wenn das lokale Netzwerksystem eine Verbindung abbricht, z. B. wenn Winsock eine hergestellte Verbindung schließt, nachdem die erneute Datenübertragung fehlgeschlagen ist (der Empfänger bestätigt niemals Daten, die über einen Datenstrom-Socket gesendet wurden).

Die Gründe für dieses Problem können von fehlerhaften Netzwerkkabeln bis hin zu einfachen Verbindungsverlusten reichen. Es ist unmöglich, eine einzige Lösung anzubieten.

1
Der Hochstapler

Ich hatte das gleiche Problem mit PuTTY nach der Installation eines neuen WLAN-Routers/3G-Modems, um eine Verbindung zum Internet herzustellen. Ich habe alle oben genannten Keep-Alive-Lösungen - und alle im Konfigurationsmenü meines Routers - ohne Erfolg ausprobiert.

Dann fiel mir etwas aus den 90er Jahren ein, als ich ein Festnetzmodem hatte: die MTU (Maximum Transmission Unit), im Grunde die maximale Größe der übertragenen Datenblöcke - dies hatte einen bemerkenswerten Einfluss auf die Stabilität der Verbindung.

Also überprüfte ich die Konfiguration meines WLAN-Routers, fand die MTU-Einstellung und änderte sie von einem festen Wert von 1424 auf "Auto" (ich wollte einen kleineren Wert ausprobieren, aber "Auto" klang noch besser). Danach hatte ich keine Probleme mehr mit PuTTY - die Verbindung ist jetzt absolut stabil. Ich hoffe das hilft zumindest jemandem mit dem Problem "Netzwerkfehler: Software verursachte Verbindungsabbruch".

1
Seppo Sipilä

Ich war tatsächlich viele Male mit diesen Problemen konfrontiert. Ich habe stundenlang nach Lösungen gesucht, aber keine davon war wirksam. Ich teile die Lösung, die für mich funktioniert hat, und hoffe, dass sie auch für andere hilfreich ist.

Ich habe Windows 10 als Host-O/S und Redhat-7 als Gast-O/S und meine VMware hatte eine Bridged-Verbindung. Als Datenbankadministrator muss ich Clients besuchen und meine Netzwerkkonfiguration gemäß den Kundenvorgaben festlegen. Wenn ich also den Client verlasse und über WLAN eine Verbindung zu einem anderen Netzwerk herstelle und VM öffne, habe ich das gleiche Problem wie in der Frage angegeben. Also habe ich eine Weile nachgedacht und meine Konfiguration für LAN-Ethernet und Wireless-Ethernet überprüft und eine Nichtübereinstimmung festgestellt. Da mein VM automatisch das physikalische Ethernet zwischen zwei zum Bridgen verwenden würde. Also, wenn ich die Netzwerkkonfiguration für LAN/Wireless Ethernet auf DHCP zurücksetze, funktioniert es wie Charme und kein Verbindungsabbruch mehr. [Sie können Ihren Host-Computer auch neu starten, nachdem Sie ihn auf DHCP eingestellt haben.]

0
dralmostright

Sie müssen TCPKeepAlive unter Linux aktivieren.

Es wird in PuTTYs FAQ auf der Website erklärt, wenn Sie nach diesem Fehler suchen.

0
pinguim007

Wenn die virtuelle Maschine auf Ihrer lokalen Hardware ausgeführt wird, deaktivieren Sie Keep Alive-Pakete.

0
OCDtech