2011-06-09 02:12:42 +0000 2011-06-09 02:12:42 +0000
84
84

Errore di rete PuTTY: Il software ha causato l'interruzione della connessione

Ho uno strano problema: quando uso PuTTY con SSH che si connette ad un server Linux ospitato in VMware sul mio locale Windows 7, spesso ricevo l'errore che dice "Network error: Software caused connection abort" e poi la finestra di PuTTY SSH è inattiva. Di solito posso accedere al server con PuTTY e fare qualcosa, ma dopo un tempo casuale (circa uno o due minuti) ottengo questo errore. E a volte non riesco nemmeno a fare il login, ottenendo un errore che dice timeout.

Immagino che ci sia qualcosa che non va con il mio VMware Player, perché ho un altro desktop Ubuntu ospitato in VMware come server di repository del codice, e il più delle volte ha un errore di timeout quando faccio un aggiornamento/impegno SVN. Tuttavia, credo che anche Windows 7 abbia qualche stranezza perché lo stesso server Ubuntu ospitato in VMware come repository di codice funziona molto bene quando è su Windows Vista! Sembra che tutte le cose brutte accadano dopo che sono passato da Windows XP a Windows Vista e poi Windows 7!

Quale potrebbe essere la ragione di questo problema e come si può risolvere?

Supplement :

Ho fatto una ricerca su Google e ho applicato tutti i metodi per aiutare, tra cui:

  1. 1. Abilitare sshd TCPKeepAlive
  2. 2. Impostare sshd ClientAliveInterval su 900 e ClientAliveCountMax su 3
  3. Impostare sshd 5 su &007
  4. Impostare l'impostazione di connessione PuTTY ‘secondi tra keepalives’ su &007.

Ma tutti questi non funzionano! E la sessione SSH in PuTTY si interrompe ancora dopo qualche tempo!

Ho spento sia il firewall del server Linux che il firewall del client Windows 7, ma il login si interrompe ancora! È davvero fastidioso!

Sembra che a volte riesco ad accedere, ma a volte il login si interrompe! Non so davvero perché. Mi fa impazzire!

Una cosa che devo dire è che quando uso PuTTY SSH per connettermi ad un server remoto, ed è tutto OK!

Quando non sono riuscito ad effettuare il login, anche il ping non ha funzionato! Ma, come può succedere? Uso il lettore VMware player per ospitare il server Linux sulla mia macchina locale!

Risposte (12)

60
60
60
2012-06-25 18:52:15 +0000

Windows XP o solo sistema operativo precedente:

Ho scritto questa risposta 9 anni fa per Windows XP, il software Putty ha 21 anni e quindi questa risposta è utile per scopi storici. L'attuale Zune-OS per Desktop basato sullo smartphone di Windows ha rotto Putty a livello di rete, in cerca di irritare tutti i punti di entrata o di uscita che non fanno parte della pila di strumenti di Azure Vendor a pagamento.

Putty ha una caratteristica che tenta di risolvere questo problema:

Network Error: Software caused connection abort
  1. 1. Avviare Putty
  2. 2. Caricate le vostre impostazioni di connessione se le avete salvate
  3. 3. Cliccare su “Connessione”
  4. Nella sezione che dice “Invio di pacchetti nulli per mantenere attiva la sessione”, cambiata a 5 secondi. 300 secondi possono essere migliori se le interruzioni di rete sono un vostro problema, leggete qui sotto per i dettagli.

Come keepalives per prevenire la disconnessione con Putty:

Alcuni router e firewall di rete hanno bisogno di tenere traccia di tutte le connessioni attraverso di essi. Di solito, questi firewall presuppongono che una connessione sia morta se non vengono trasferiti dati in entrambe le direzioni dopo un certo intervallo di tempo. Questo può causare la chiusura inaspettata delle sessioni di PuTTY da parte del firewall se non si vede traffico nella sessione per un certo periodo di tempo.

L'opzione keepalive (‘Seconds between keepalives’) permette di configurare PuTTY per inviare dati attraverso la sessione a intervalli regolari, in modo da non interrompere la sessione effettiva del terminale. Se trovate che il vostro firewall sta tagliando le connessioni inattive, potete provare ad inserire un valore diverso da zero in questo campo. Il valore viene misurato in secondi; così, per esempio, se il vostro firewall interrompe le connessioni dopo dieci minuti, allora potreste voler inserire 300 secondi (5 minuti) nella casella.

Ridurre il problema usando l'autologin di Putty e lo strumento “schermo ”

Putty non può gestire un wifi schifoso che perde la connettività per minuti alla volta. Un lavoro in giro è quello di usare l'autologin e lo schermo.

È un problema non banale per Putty di sincronizzare nuovamente il terminale dopo un minuto di perdita di connessione a internet. Si corre il rischio di attacchi da parte dell'uomo nel mezzo di un'interruzione. Dovreste comunque ri-autentificarvi per esserne sicuri. Putty non vi impone questo, vi fa solo cadere.

Quindi usate l'autologin in modo che Putty possa effettuare il login automatico per vostro conto.

  1. 1. Genera una chiave privata con lo strumento puttygen sul computer con il quale sei putty.
  2. 2. Incollare la chiave pubblica nel vostro /home/youruser/.ssh/authorized_keys sul lato server, sul server che state usando il putty go login a.
  3. 3. Rendere la chiave privata accessibile al mastice nelle impostazioni del mastice Connessione->SSH->Auth
  4. 4. Aggiungere la chiave privata specificando il file della chiave privata sotto: “
  5. Salvare le impostazioni di connessione a putty.

Poi si dovrebbe essere in grado di fare doppio clic sulla connessione attraverso putty, e dovrebbe portare direttamente al terminale senza digitare il nome utente/password.

Quindi ora è possibile agganciare un login a putty su quella connessione con una combinazione di tastiera come F6. Così, quando il wifi va a male e ti cade. Si schiaccia F6 e si torna al login.

Ma si perde comunque lo stato del terminale! Come risolvere il problema? Utilizzate il programma "schermo”. Crea un nuovo schermo digitando “schermo”. Si crea una nuova schermata.

Quando si viene espulsi e si effettua il login automatico, è possibile riattaccarsi alla schermata. Ecco un tutorial su come farlo: http://www.tecmint.com/screen-command-examples-to-manage-linux-terminals/ (http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter4.html#config-keepalive)

È una seccatura digitare screen e ricollegarsi ogni volta che si viene espulsi. Così potete scrivere uno script che vi “riporterà automaticamente all'ultimo schermo disponibile” per renderlo trasparente.

Quindi quando il terminale di stucco si blocca. Assomiglia a questo: Si fa un sorso di disprezzo, si schiaccia Alt+F4 per chiudere lo stucco, Mash down F6. E in 6 secondi siete tornati esattamente dove avevate lasciato.

Soluzione migliore, in teoria

In teoria si potrebbe scrivere l'intero processo di cui sopra, in modo che il terminale rilevi quando è stato lasciato cadere, e faccia tutti i passaggi di cui sopra per voi sul ripristino della connessione a Internet. Se qualcuno conosce un programma che fa questo automaticamente me lo faccia sapere. Sarebbe pulito.

Fonti: http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter4.html#config-keepalive [ http://rafaelwolf.com/?p=516 ]&003

10
10
10
2012-08-20 13:35:11 +0000

Troubleshooting the PuTTY Network Error

Software caused connection abort

Leggiate quello che PuTTY ha da dire sull'errore

Si tratta di un errore generico prodotto dal codice di rete di Windows quando uccide una connessione stabilita per qualche motivo. Per esempio, può accadere se si tira fuori il cavo di rete dal retro di un computer collegato alla rete Ethernet, o se Windows ha qualche altra ragione simile per credere che l'intera rete sia diventata irraggiungibile.

Windows genera anche questo errore se ha rinunciato alla macchina all'altra estremità della connessione rispondendo ad esso. Se la rete tra il vostro client e il server si interrompe e il vostro client cerca di inviare alcuni dati, Windows farà diversi tentativi per inviare i dati e poi si arrenderà e interromperà la connessione. In particolare, questo può accadere anche se non avete digitato nulla, se state usando SSH-2 e PuTTY tenta un ri-scambio di chiavi.

(Può anche accadere se state usando keepalives nella vostra connessione. Altre persone hanno riferito che i keepalives risolvono questo errore per loro. (Ci sono pro e contro dei keepalives.))

Non siamo a conoscenza di alcun motivo per cui questo errore possa verificarsi che possa rappresentare un bug in PuTTY. Il problema è tra voi, il vostro sistema Windows, la vostra rete e il sistema remoto.

Provare un diverso client SSH

Molto probabilmente il problema esiste da qualche parte tra PuTTY e il server SSH di destinazione. Per fornire la prova di ciò, usate un diverso client SSH come http://kitty.9bis.net ) e vedete se il problema si verifica anche su questo. Probabilmente lo farà, il che isolerà il problema da PuTTY.

Sospetta la connessione Internet spotty

Il problema può essere la connessione Internet spotty. Connettività Internet Il monitoraggio del tempo di attività di una connessione Internet è un buon modo per determinare se il vostro ISP sta perdendo i pacchetti ed è da biasimare per il fatto che PuTTY sta andando giù. Procuratevi un software che verifichi il tempo di attività di una connessione a Internet. Per esempio, http://code.google.com/p/internetconnectivitymonitor/ . Le disconnessioni frequenti e lunghe da Internet sono una violazione dei requisiti del servizio ISP. Se questo è il caso, sarà difficile dimostrare che è colpa dell'ISP, poiché il supporto tecnico dà automaticamente la colpa a questo tipo di problemi sul computer, sul sistema operativo, sul router e sul cablaggio di casa. Se si utilizza Internet via cavo e si vive in mezzo al verde, potrebbe essere possibile che l'hardware difettoso nelle case dei vicini di casa invii elettricità statica sulla linea per alcuni secondi/minuti quando la prima volta lo accendono. Infine, è possibile che ci sia dell'hardware difettoso nella rete dell'ISP a casa vostra. Il costo per gli ISP per sostituire il loro hardware è così alto che spesso non lo fanno a meno che non ci siano abbastanza abbonati in un'area per avvertire il costo.

Sospetta il router cablato/wireless

Ti stai connettendo attraverso un router cablato/wireless? Quanti anni ha? Il problema potrebbe essere il tuo router. La vecchia tecnologia wireless e cablata può diventare vecchia e far cadere sporadicamente le connessioni e riavviarle, causando la morte di PuTTY. Rimuovi questi componenti dall'equazione e vedi se questo risolve il problema. Prova una connessione cablata e/o un router diverso per vedere se questo risolve il problema. Ho avuto un router wireless Linksys che soffre di questa morte lenta e fa cadere le connessioni e le riavvia.

Sospetta il sistema operativo che fornisce la connessione SSH

Il computer a cui ti stai connettendo con SSH ha una politica per il numero di secondi per mantenere vive le connessioni SSH. Questo numero è impostato basso per motivi di sicurezza, e si potrebbe aumentare. Dove questa impostazione dipende dal sistema operativo che si sta utilizzando e che fornisce SSH.

Se si utilizza PuTTY attraverso una macchina virtuale

Se si utilizza PuTTY passando attraverso una macchina virtuale, ci può essere una politica sulla macchina virtuale che sta interrompendo la connessione SSH al server quando pensa di essere inattivo. L'aumento di questi valori dipende dal software della macchina virtuale e dal sistema operativo che si sta utilizzando.

** Se la connessione a Internet non è buona, la connessione al client SSH aggira il problema:**

Se il vostro ISP fornisce una connessione instabile, allora potreste rendere le disconnessioni meno dolorose con “ssh autologin”. Quello che si fa è generare una chiave pubblica e privata. E dite al vostro server estero di far entrare automaticamente chiunque fornisca una chiave privata accurata. Questo non risolve completamente il problema, ma quando si verifica l'interruzione di Internet, tutto quello che si fa è chiudere la finestra, fare doppio clic su un'icona, e si viene immediatamente riportati alla linea di comando della propria cartella di casa senza inserire un nome utente/password.

Questo vi aiuterà in questo C'è un modo per “autologin” in PuTTY con una password?

4
4
4
2013-10-29 16:48:06 +0000

Ho lavorato con i server CentOS dei PC Windows, e ho avuto lo stesso problema con PuTTY. Una sessione non è durata più di 1-5 minuti. Ho provato a giocare con le impostazioni di PuTTY (keepalives, ecc.) ma non mi ha aiutato affatto.

Finalmente ho trovato la soluzione per il mio caso. Ho registrato i dump TCP sia sul client che sul server. Ho scoperto che durante 25-30 secondi prima di scollegarmi ci sono diverse ritrasmissioni di segmenti TCP nel dump del client (sia dal lato del client che da quello del server) e infine PuTTY invia RST e chiude la sessione con questo errore. Nel dump del server non ho visto alcun segmento del client in questo periodo, nemmeno RST. Ciò significa che di volta in volta non vengono consegnati segmenti TCP dal client al server e questo periodo è di circa 30-60 secondi. Ho registrato il caso diverse volte e ci sono sempre state ritrasmissioni e RST finale da PuTTY. Probabilmente da qualche parte sul percorso i pacchetti sono stati lasciati cadere dagli apparati di rete.

Per fare un workaround ho aumentato il numero massimo di ritrasmissioni di dati dal valore di default 5 fino a 16. Questo potrebbe evitare che PuTTY si scolleghi troppo velocemente. La variabile è ‘HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpMaxDataRetransmissions’. Ho aggiunto questa variabile manualmente, inizialmente non era definita nella registy di Windows. È stata di grande aiuto! Ora vedo che PuTTY si blocca di tanto in tanto, ma torna sempre a funzionare.

Per risolvere il problema: 1. Registrare un dump TCP e cercare le ritrasmissioni e RST prima di scollegarsi. 2. 2. Se trovate le stesse ritrasmissioni/segmenti di RST, regolate il numero di ritrasmissioni sul lato server o client (dipende dal lato di RST).

Attenzione: la modifica delle impostazioni TCP si applica a tutti i software e al sistema operativo stesso.

4
4
4
2013-02-08 19:08:00 +0000

In un prompt di comando elevato, eseguire i seguenti comandi:

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

Se Receive Window Auto-Tuning Level è normale, allora si avranno problemi. Disattivatelo e poi tutto dovrebbe funzionare come prima:

C:\Windows\system32>netsh int tcp set global autotuninglevel=disabled
3
3
3
2014-11-26 09:57:12 +0000

L'errore Errore di rete: Il software ha causato l'interruzione della connessione da PuTTY è il risultato se c'è un conflitto di indirizzi IP (due o più computer hanno lo stesso indirizzo IP) sulla rete. (Ho avuto questo problema con un Raspberry Pi che ha ottenuto lo stesso indirizzo IP assegnato dal server DHCP come qualche dispositivo/computer rogue che è stato impostato manualmente per usare lo stesso indirizzo IP.)

In questo caso particolare potrebbe essere un conflitto di indirizzo IP localmente sul computer Windows 7 o con un altro dispositivo sulla rete. Wireshark può essere usato per rintracciare con successo questo tipo di errore.

2
2
2
2012-08-24 09:09:46 +0000

Scheda Connessione: mantenere attivo impostato a “5” secondi e abilitato

Ma soprattutto:

Connessione -> SSH -> Kex, Massimi minuti prima di riselezionare: “2” (il valore predefinito è 60).

Il mio PuTTY dopo un po’ perdeva la sua chiave, causando il timeout. L'abbassamento di quel valore a “2” minuti ha risolto il problema. Ora rimango collegato a tempo indeterminato.

2
2
2
2012-08-20 13:41:23 +0000

L'errore 10053 WSAECONNABORTED (Software caused connection abort.) è un errore generico Winsock che può essere emesso per una serie di motivi.

La spiegazione ufficiale dice:

Questo errore può verificarsi quando il sistema di rete locale interrompe una connessione, come quando Winsock chiude una connessione stabilita dopo la mancata ritrasmissione dei dati (il ricevitore non riconosce mai i dati inviati su una presa datastream).

Le ragioni di questo problema possono variare da cavi di rete difettosi alla semplice perdita di connettività. È impossibile offrire una soluzione unica.

2
2
2
2013-02-28 23:27:57 +0000

Ho avuto lo stesso problema con PuTTY dopo aver installato un nuovo router WLAN / modem 3G per la connessione a Internet. Ho provato tutte le soluzioni keep-alive di cui sopra - e tutte quelle nel menu di configurazione del mio router - senza alcun effetto.

Poi mi sono ricordato di una cosa degli anni ‘90, quando avevo un modem per telefono fisso: l'MTU (unità di trasmissione massima), in pratica la dimensione massima dei pezzi di dati trasferiti - ha avuto un effetto notevole sulla stabilità della connessione.

Così ho controllato la configurazione del mio router WLAN, ho trovato l'impostazione MTU e l'ho cambiata da un valore fisso di 1424 ad “Auto” (intendevo provare un valore più piccolo, ma “Auto” suonava ancora meglio). Dopo di ciò, non ho più avuto problemi con PuTTY - la connessione è ora solida come una roccia. Spero che questo aiuti almeno qualcuno con il problema “Errore di rete: il software ha causato l'interruzione della connessione”.

1
1
1
2017-05-31 04:54:07 +0000

In realtà ho affrontato questo problema molte volte. Ho cercato una soluzione passando ore e ore, ma nessuna di queste è stata efficace. Sto condividendo la soluzione che ha funzionato per me e spero che sia utile anche ad altri.

Ho Windows 10 come host O/S e Redhat-7 come ospite O/S e il mio VMware aveva colmato la connessione. In qualità di DBA devo visitare i clienti e devo impostare la mia configurazione di rete come per i clienti. Così, ogni volta che esco dalla sede del cliente e mi connetto a un'altra rete tramite VM aperta e wireless, mi trovo ad affrontare lo stesso problema, come indicato nell'interrogazione. Così ho pensato per un po’ e ho controllato la mia configurazione per LAN Ethernet e Wireless Ethernet e ho trovato un disallineamento. Poiché la mia VM avrebbe utilizzato automaticamente la rete ethernet fisica tra due per il bridging. Così quando ho resettato la configurazione di rete per LAN/Wireless Ethernet a DHCP ha funzionato come un fascino e non ha più interrotto la connessione. [È anche possibile riavviare la macchina host dopo averla impostata su DHCP].

1
1
1
2013-03-12 16:11:43 +0000

Mi sono imbattuto nello stesso problema con uno script WinSCP o con una console GUI. Alla fine ho scoperto che è legato alla velocità (velocità di Internet - il nostro server è su Internet). Ho spostato lo script nella diversa posizione in rete, sito diverso, e non sia la GUI che lo Script sono andati bene.

È stato risolto dopo molte analisi e smistamento.

0
0
0
2011-06-09 22:30:02 +0000

È necessario abilitare TCPKeepAlive su Linux.

È spiegato nelle FAQ di PuTTy sul sito web, quando si sta cercando questo errore.

0
0
0
2013-01-10 17:23:40 +0000

Se la Macchina Virtuale è in esecuzione sul vostro hardware locale disabilitare i pacchetti keep alive.