Erreur réseau PuTTY: Abandon de la connexion provoqué par le logiciel

81

J'ai un problème étrange: lorsque j'utilise PuTTY avec SSH pour la connexion à un serveur Linux hébergé sur VMware sur mon Windows 7 local , "Network error: Software caused connection abort"le message d' erreur s'affiche souvent , puis la fenêtre PuTTY SSH est inactive. Habituellement, je peux me connecter au serveur avec PuTTY et faire quelque chose, mais après un temps aléatoire (environ une ou deux minutes), j'obtiens cette erreur. Et parfois, je ne peux même pas me connecter, ce qui entraîne une erreur de timeout.

Je suppose que quelque chose ne va pas avec mon lecteur VMware, car j’ai un autre bureau Ubuntu hébergé dans VMware en tant que serveur de référentiel de code et qui, le plus souvent, comporte une erreur de dépassement de délai lorsqu’une mise à jour / validation SVN est effectuée. Cependant, je suppose aussi que Windows 7 a quelque chose de bizarre, car le même serveur Ubuntu hébergé dans VMware en tant que référentiel de code fonctionne très bien sous Windows Vista! Il semble que toutes les mauvaises choses se produisent après le passage de Windows XP à Windows Vista, puis à Windows 7!

Quelle pourrait être la raison de ce problème et comment peut-il être résolu?

Supplément :

J'ai effectué une recherche sur Google et appliqué toutes les méthodes d'aide, notamment:

  1. Activer sshd TCPKeepAlive
  2. Définir sshd ClientAliveIntervalà 900et ClientAliveCountMaxà3
  3. Définissez le paramètre de connexion PuTTY 'secondes entre les gardiens' sur 5.

Mais tout cela ne fonctionne pas! Et la session SSH dans PuTTY est toujours interrompue!

J'ai désactivé le pare-feu du serveur Linux et le pare-feu du client Windows 7, mais la connexion a toujours expiré! C'est vraiment énervant!

Il semble parfois que je puisse me connecter, mais que parfois, la connexion expire! Je ne sais vraiment pas pourquoi. Il me rend fou!

Une chose que je dois mentionner est que lorsque j'utilise PuTTY SSH pour me connecter à un serveur distant, tout va bien!

Quand j'ai échoué à me connecter, le ping a également échoué! Mais comment cela peut-il arriver? J'utilise VMware Player pour héberger le serveur Linux sur ma machine locale!

Robert
la source
Vous obtenez cette erreur lorsque vous utilisez activement la connexion ssh? ou après l'avoir laissé inactif pendant un moment?
MaQleod
1
C'est inactif pour un wile. Mais parfois, je ne peux même pas me connecter pour le timeout.
Robert
1
Je voudrais vérifier les paramètres de délai de session pour le serveur SSH.
MaQleod
Mais le plus souvent, je ne peux même pas connecter le serveur à partir de putty pour le timeout!
Robert
3
Ce problème a-t-il été résolu? J'ai essayé la plupart des solutions énumérées ci-dessous et rien ne semble fonctionner pour moi. D'autres suggestions? Je suis confronté exactement au même problème que le problème original de Robert
user682765

Réponses:

58

Putty a une fonctionnalité qui tente de résoudre ce problème:

Network Error: Software caused connection abort
  1. Démarrer Putty
  2. Chargez vos paramètres de connexion si vous les avez enregistrés
  3. Cliquez sur "Connexion"
  4. Dans la section intitulée "Envoi de paquets nuls pour que la session reste active", modifiez le délai en 5 secondes. 300 secondes peuvent être mieux si les pannes de réseau sont votre problème, lisez ci-dessous pour plus de détails.

entrez la description de l'image ici

Comment maintenir pour empêcher la déconnexion avec Putty:

Certains routeurs de réseau et pare-feu doivent suivre toutes les connexions qui les traversent. Habituellement, ces pare-feu supposent qu'une connexion est inactive si aucune donnée n'est transférée dans un sens ou dans l'autre après un certain intervalle de temps. Cela peut entraîner la fermeture inattendue de sessions PuTTY par le pare-feu si aucun trafic n'est vu dans la session pendant un certain temps.

L'option keepalive ('secondes entre keepalives') vous permet de configurer PuTTY pour envoyer des données à travers la session à intervalles réguliers, de manière à ne pas perturber la session de terminal réelle. Si vous constatez que votre pare-feu coupe les connexions inactives, vous pouvez essayer d'entrer une valeur non nulle dans ce champ. La valeur est mesurée en secondes. Ainsi, par exemple, si votre pare-feu coupe les connexions après dix minutes, vous pouvez entrer 300 secondes (5 minutes) dans la zone.

Réduisez le problème en utilisant la connexion automatique et l'outil "Screen" de Putty

Putty ne peut pas gérer un wifi de merde qui perd la connectivité quelques minutes à la fois. Une solution consiste à utiliser la connexion automatique et l'écran.

C'est un problème non trivial pour le mastic de resynchroniser votre terminal après une minute de perte de connexion Internet. Vous courez des risques d'attaques au milieu lors d'une panne. De toute façon, vous devrez vous ré-authentifier pour vous en assurer. Putty ne vous impose pas cela, il vous laisse tomber.

Utilisez donc la connexion automatique pour que putty puisse se connecter automatiquement en votre nom.

  1. Générez une clé privée avec l'outil puttygen sur l'ordinateur sur lequel vous êtes mastic.
  2. Collez la clé publique dans votre /home/youruser/.ssh/authorized_keyscôté serveur, sur le serveur sur lequel vous utilisez putty pour vous connecter.
  3. Rendre la clé privée accessible au mastic dans les paramètres de mastic Connexion-> SSH-> Auth
  4. Ajoutez la clé privée en spécifiant le fichier de clé privée sous: "Fichier de clé privée pour authentification".
  5. Enregistrez les paramètres de connexion de mastic.

Ensuite, vous pourrez double-cliquer sur votre connexion via putty et cela vous mènera directement au terminal sans saisir le nom d'utilisateur / mot de passe.

Alors maintenant, vous pouvez accrocher un login à putty sur cette connexion avec une combinaison de clavier comme F6. Alors, quand le wifi va mal et que vous êtes largué. Vous écrasez F6 et vous êtes de nouveau connecté.

MAIS vous perdez toujours l’état de votre terminal! Comment résoudre ce problème? Utilisez le programme "écran". Créez un nouvel écran en tapant 'screen'. Un nouvel écran est créé.

Lorsque vous êtes expulsé et que vous vous connectez automatiquement, vous pouvez vous reconnecter à votre écran. Voici un tutoriel sur la façon de procéder: http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/

Il est fastidieux de taper screenet de se reconnecter chaque fois que vous êtes largué. Vous pourrez ainsi écrire un script qui "vous ramènera automatiquement au dernier écran disponible" pour le rendre transparent.

Alors, quand le terminal à mastic gèle. Cela ressemble à ceci: Vous faites un signe de mépris, écrasez Alt + F4 pour fermer le mastic, écrasez F6. Et en 6 secondes, vous êtes de retour à l’endroit où vous vous êtes arrêté.

Encore meilleure solution, en théorie

En théorie, vous pouvez créer un script pour tout le processus ci-dessus, afin que le terminal détecte le moment où il a été abandonné et effectue toutes les étapes ci-dessus pour la restauration de la connexion Internet. Si quelqu'un connaît un programme qui fait cela, faites-le-moi savoir automatiquement. Ce serait chouette.

Sources:

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

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

Eric Leschinski
la source
Bonjour, je fais cela, mais j'obtiens toujours l'erreur de connexion logicielle fermée
tuskiomi
De plus, les secondes entre les gardes ne peuvent pas être sauvegardées pour la prochaine connexion.
ZhaoGang
10

Dépannage de l'erreur réseau PuTTY

Software caused connection abort

Lisez ce que PuTTY a à dire à propos de l'erreur

Il s'agit d'une erreur générique générée par le code de réseau Windows lorsqu'il tue une connexion établie pour une raison quelconque. Par exemple, cela peut arriver si vous tirez le câble réseau à l'arrière d'un ordinateur connecté à Ethernet ou si Windows a une autre raison similaire de croire que tout le réseau est devenu inaccessible.

Windows génère également cette erreur s’il a abandonné la machine à l’autre extrémité de la connexion qui y répond. Si le réseau entre votre client et votre serveur tombe en panne et que votre client tente d'envoyer des données, Windows tentera à plusieurs reprises d'envoyer les données, puis abandonnera et mettra fin à la connexion. En particulier, cela peut se produire même si vous n’avez rien tapé, si vous utilisez SSH-2 et que PuTTY tente un échange de clé.

(Cela peut également se produire si vous utilisez Keepalives dans votre connexion. D'autres personnes ont signalé que Keepalives corrige cette erreur. (Il existe des avantages et des inconvénients de Keepalives.))

Nous ne sommes au courant d'aucune des raisons pour lesquelles cette erreur pourrait survenir qui représenterait un bogue dans PuTTY. Le problème réside entre vous, votre système Windows, votre réseau et le système distant.

Essayez un autre client SSH

Très probablement, le problème existe quelque part entre PuTTY et le serveur SSH cible. Pour en fournir la preuve, utilisez un autre client SSH tel que ( http://kitty.9bis.net ) et voyez si le problème se produit également à ce sujet. Ce sera probablement ce qui isolera le problème de PuTTY.

Connexion Internet irrégulière suspecte

Le problème peut être la connexion Internet inégale. Connectivité Internet Contrôler le temps de disponibilité d'une connexion Internet est un bon moyen de déterminer si votre fournisseur de services Internet perd des paquets et est à l'origine de la panne de PuTTY. Obtenez un logiciel qui teste la disponibilité d'une connexion Internet. Par exemple, http://code.google.com/p/internetconnectivitymonitor/. Des déconnexions fréquentes et longues d’Internet constituent une violation des exigences du service ISP. Si tel est le cas, il sera difficile de prouver que c'est la faute du FAI, car le support technique blâme automatiquement ce type de problèmes sur votre ordinateur, votre système d'exploitation, votre routeur et le câblage de votre domicile. Si vous utilisez Internet par câble et vivez dans les rues piétonnes, il est possible que du matériel défectueux chez votre voisin envoie de l'électricité statique sur la ligne pendant quelques secondes / minutes à la première mise sous tension. Enfin, il est possible qu'il y ait du matériel défectueux dans le réseau du FAI à votre domicile. Le coût de remplacement de leur matériel par les fournisseurs de services Internet est si élevé que souvent, ils ne le feront pas à moins que le nombre d'abonnés dans une zone soit suffisant pour en garantir le coût.

Suspectez le routeur filaire / sans fil

Êtes-vous connecté via un routeur filaire / sans fil? Quel âge a-t-il? Votre routeur pourrait être le problème. L'ancienne technologie sans fil et filaire peut devenir ancienne, abandonner des connexions de façon sporadique et les redémarrer, causant la mort de PuTTY. Supprimez ces composants de l'équation et voyez si cela résout le problème. Essayez une connexion câblée et / ou un autre routeur pour voir si cela résout le problème. J'ai eu un routeur sans fil Linksys souffrir de cette mort lente et abandonner les connexions et les redémarrer.

Suspectez le système d'exploitation fournissant la connexion SSH

L'ordinateur auquel vous vous connectez avec SSH a une stratégie pendant plusieurs secondes pour maintenir les connexions SSH en vie. Ce nombre est bas pour des raisons de sécurité et vous pouvez l'augmenter. L'emplacement de ce paramètre dépend du système d'exploitation utilisé qui fournit SSH.

Si vous utilisez PuTTY via une machine virtuelle

Si vous utilisez PuTTY via une machine virtuelle, il peut exister une stratégie sur la machine virtuelle qui rompt votre connexion SSH avec le serveur lorsqu'elle pense être inactive. L'augmentation de ces valeurs dépend du logiciel de la machine virtuelle et du système d'exploitation utilisés.

Si la connexion Internet est mauvaise, solutions de contournement de la connexion client SSH:

Si votre FAI fournit une connexion instable, vous pouvez rendre les déconnexions moins pénibles avec "ssh autologin". Ce que vous faites est de générer une clé publique et privée. Et vous dites à votre serveur étranger de laisser entrer automatiquement toute personne fournissant une clé privée exacte. Votre problème n'est pas résolu complètement, mais lorsque la panne Internet se produit, il vous suffit de fermer la fenêtre, de cliquer deux fois sur une icône pour revenir immédiatement à la ligne de commande de votre dossier personnel sans entrer de nom d'utilisateur / mot de passe.

Cela vous aidera: Y a - t-il un moyen de "se connecter automatiquement" dans PuTTY avec un mot de passe?

Eric Leschinski
la source
4

Dans une invite de commande avec privilèges élevés, exécutez ce qui suit:

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

Si Receive Window Auto-Tuning Levelc'est normal, vous aurez des problèmes. Désactivez-le et tout devrait fonctionner comme avant:

C:\Windows\system32>netsh int tcp set global autotuninglevel=disabled
utilisateur196773
la source
5
pouvez-vous expliquer pourquoi cela fonctionne / qu'est-ce qu'il fait?
Eiyrioü von Kauyf
3
support.microsoft.com/kb/947239 Voici la description de cela
bksi
Ca ne m'aide pas dans mon cas.
reinierpost
4

J'ai travaillé avec des serveurs CentOS à partir de PC Windows, et j'ai eu le même problème avec PuTTY. Une session n'a pas duré plus de 1 à 5 minutes. J'ai essayé de jouer avec les réglages de PuTTY (keepalives, etc.), mais ça n'a pas aidé du tout.

Enfin, j'ai trouvé la solution à mon cas. J'ai enregistré des sauvegardes TCP sur le client et le serveur. J'ai découvert que 25-30 secondes avant la déconnexion, il y avait plusieurs retransmissions de segments TCP dans le vidage du client (à la fois du côté client et du côté serveur) et enfin, PuTTY envoie RST et ferme la session avec cette erreur. Dans le vidage du serveur, je n'ai vu aucun segment du client au cours de cette période, même RST. Cela signifie que de temps en temps, aucun segment TCP du client n'est transmis au serveur et cette période est d'environ 30 à 60 secondes. J'ai enregistré le cas plusieurs fois et il y a toujours eu des retransmissions et la TVD finale de PuTTY. Probablement quelque part sur la route, des paquets ont été abandonnés par des équipements de réseau.

Pour contourner le problème, j'ai augmenté le nombre maximal de retransmissions de données de la valeur par défaut 5 à 16. Il est possible d'empêcher PuTTY de se déconnecter trop rapidement. La variable est 'HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ TcpMaxDataRetransmissions'. J'ai ajouté cette variable manuellement, elle n'a pas été définie initialement dans le registre de Windows. Cela a aidé! Maintenant, je vois que PuTTY est suspendu de temps en temps, mais cela revient toujours au travail.

Pour résoudre le problème: 1. Enregistrez un cliché TCP et recherchez les retransmissions et le fichier RST avant de vous déconnecter. 2. Si vous trouvez les mêmes segments de retransmission / RST, ajustez le nombre de nouvelles tentatives côté serveur ou côté client (cela dépend du côté de RST).

Attention, la modification des paramètres TCP s’applique à tous les logiciels et au système d’exploitation.

Vadim
la source
3

L'erreur Erreur réseau: l'interruption de connexion provoquée par le logiciel à partir de PuTTY est le résultat d'un conflit d'adresse IP (deux ordinateurs ou plus ont la même adresse IP) sur le réseau. (J'ai eu ce problème avec un Raspberry Pi ayant obtenu la même adresse IP attribuée par le serveur DHCP qu'un périphérique / ordinateur non autorisé configuré manuellement pour utiliser la même adresse IP.)

Dans ce cas particulier, il pourrait s'agir d'un conflit d'adresses IP localement sur l'ordinateur Windows 7 ou avec un autre périphérique sur le réseau. Wireshark peut être utilisé pour localiser ce type d'erreur avec succès.

Peter Mortensen
la source
2

L'erreur 10053 WSAECONNABORTED(Abandon de connexion provoqué par le logiciel) est une erreur générique de Winsock pouvant être émise pour diverses raisons.

L' explication officielle dit:

Cette erreur peut se produire lorsque le système de réseau local interrompt une connexion, par exemple lorsque Winsock ferme une connexion établie après l'échec de la retransmission des données (le destinataire ne reconnaît jamais les données envoyées sur un socket datastream).

Les raisons de ce problème peuvent aller des câbles réseau défectueux à la simple perte de connectivité. Il est impossible d'offrir une solution unique.

Der Hochstapler
la source
2

J'ai eu le même problème avec PuTTY après l'installation d'un nouveau modem routeur WLAN / 3G pour se connecter à Internet. J'ai essayé toutes les solutions Keep-Alive ci-dessus - et toutes celles du menu de configuration de mon routeur - sans aucun effet.

Ensuite, je me suis souvenu de quelque chose qui remontait dans les années 90 lorsque j’avais un modem de téléphonie fixe: le MTU (unité de transmission maximale), qui correspond à la taille maximale des blocs de données transférés - cela a eu un effet notable sur la stabilité de la connexion.

J'ai donc vérifié la configuration de mon routeur WLAN, trouvé le paramètre de MTU et l'ai changé d'une valeur fixe de 1424 à "Auto" (je voulais essayer une valeur plus petite, mais "Auto" sonne encore mieux). Après cela, je n'ai plus eu de problèmes avec PuTTY - la connexion est maintenant solide. J'espère que cela aide au moins quelqu'un avec le problème "Erreur réseau: le logiciel a causé une interruption de connexion".

Seppo Sipilä
la source
2

Onglet Connexion: garder en vie défini à "5" secondes et activé

Mais plus important:

Connexion -> SSH -> Kex , minutes avant restitution : "2" (la valeur par défaut est 60).

Mon mastic perdait sa clé après un moment, provoquant le timeout. Laisser tomber cette valeur à "2" minutes a résolu le problème. Je reste connecté indéfiniment maintenant.

Simon
la source
1

J'ai rencontré le même problème avec un script WinSCP ou une console graphique. Enfin, j’ai trouvé que c’était lié à la vitesse (vitesse Internet - notre serveur est sur Internet). J'ai déplacé le script vers un emplacement différent sur le réseau, un site différent et l'interface graphique et le script ne se sont pas bien déroulés.

Il a été trié après de nombreuses analyses et tri.

Arun Vai
la source
0

Vous devez activer TCPKeepAlivesur Linux.

C'est expliqué dans la FAQ de PuTTy sur le site web, lorsque vous recherchez cette erreur.

pinguim007
la source
Mais la valeur par défaut pour TCPKeepAlive est oui. Cependant, je l'ai activé. Mais le délai de connexion est maintenant le premier problème. Des idées?
Robert
J'ai désactivé le pare-feu du serveur Linux et le pare-feu du client Windows-7, mais la connexion est toujours à expiration! Vraiment énervant!
Robert
Il semble parfois que je peux me connecter, mais que parfois, la connexion est expirée! Je ne sais vraiment pas pourquoi. Il me rend fou!
Robert
0

Si la machine virtuelle est en cours d'exécution sur votre matériel local, désactivez le maintien des paquets actifs.

OCDtech
la source
6
Pouvez-vous développer la réponse? Peut-être donner des instructions pour les futurs visiteurs?
Canadien Luke
J'ai la situation inverse de l'OP: ma machine virtuelle est le client ssh qui se connecte à l'hôte et le client se déconnecte fréquemment. Désactiver le maintien en vie semble avoir résolu le problème. Je me demande pourquoi.
Raman
0

En fait, je faisais souvent face à ces problèmes. J'ai cherché une solution en passant des heures mais aucune d'entre elles n'était efficace. Je partage la solution qui a fonctionné pour moi et j'espère que cela sera également utile aux autres.

J'ai Windows 10 en tant qu'hôte O / S et Redhat-7 en tant qu'invité O / S et ma connexion VMware avait un pont ponté. En tant que DBA, je dois rendre visite aux clients et définir ma configuration de réseau selon les locaux du client. Ainsi, chaque fois que je quitte les locaux du client et que je me connecte à un autre réseau via une connexion sans fil et ouverte, je suis confronté au même problème que celui indiqué dans la question. J'ai donc réfléchi un moment et vérifié ma configuration pour Ethernet LAN et Ethernet sans fil et j'ai trouvé une non-concordance. Comme ma machine virtuelle utiliserait automatiquement l’éthernet physique entre deux pour établir un pont. Ainsi, lorsque je réinitialise la configuration de réseau pour LAN / Ethernet sans fil sur DHCP, cela fonctionne à merveille et n'abandonne plus la connexion. [Vous pouvez également redémarrer votre ordinateur hôte après l'avoir défini sur DHCP.]

dralmostright
la source