Putty: "Connessione di rete chiusa inaspettatamente dal server"


11

Putty "Connessione di rete chiusa inaspettatamente dal server" Ho ricevuto la "Connessione di rete chiusa inaspettatamente dal server" (vedere /superuser/735824/putty-ends-to-an-unexpected-error-and-vnc- shows-terminal-with-error e Come ottenere "Connessione di rete chiusa inaspettatamente al server" ) ma non è associato ad alcun riavvio, la connessione fallisce inaspettatamente e con essa, il web server (Apache) in esecuzione dal server Linux. Uso Putty tramite Windows 7 per connettermi a un Raspberry Pi con Raspbian. Qualche idea su cosa potrebbe andare storto?

Risposte:


13

Una sessione PuTTY lasciata inattiva si disconnetterà in un momento determinato dal server host. Prova ad abilitare i keep-alive in PuTTY. Questo fa sì che PuTTY invii periodicamente pacchetti null SSH all'host remoto, impedendo il timeout della sessione.

Il client PuTTY può essere configurato per stabilire sempre una connessione che non scadrà a causa dell'inattività. Per creare e salvare una nuova connessione keep-alive, attenersi alla seguente procedura:

  1. Apri l'applicazione PuTTY e vai al pannello Opzioni (etichettato "Categoria") a sinistra della finestra.
  2. Seleziona (clicca) la voce "Connessione".
  3. Nell'area "Invio di pacchetti null per mantenere attiva la sessione" sulla destra, modifica il valore predefinito di "Secondi tra keepalive" da 0 (disattivazione) a 1800 (30 minuti).
  4. Seleziona la casella di controllo "Abilita keepalive TCP (opzione SO_KEEPALIVE)". Nota: questa opzione potrebbe non essere disponibile nelle versioni precedenti del client PuTTY.
  5. Nella parte in alto a sinistra del pannello Opzioni, seleziona (fai clic) "Sessione".
  6. Nel campo "Nome host (o indirizzo IP)", immettere il nome host o l'indirizzo IP di destinazione (ad es. "Destination.ipaddress.here.com" o "192.168.1.1").
  7. Nella casella di immissione testo "Sessioni salvate", inserisci un nome per la sessione (ad es. "Sessione salvata").
  8. Seleziona "Salva".

Per utilizzare le impostazioni della sessione modificata, selezionalo dall'elenco "Sessioni salvate", quindi fai clic sui pulsanti contrassegnati "Carica" ​​e "Apri".

Se le sessioni connesse continuano a scadere, inserisci un numero inferiore di secondi nel valore "Secondi tra keepalive".


Anche questo non è corretto. Una connessione TCP non scade mai. Se il principio end-to-end viene minato da NAT o simili, i mapping delle connessioni su questi dispositivi potrebbero scadere . SSH, per impostazione predefinita, non scadrà mai . Su una corretta connessione Internet, una connessione SSH inattiva rimarrà aperta indefinitamente.
Daniel B,

Ssh offre due tipi di keep-alive: keep-alive TCP e keep-alive ssh. TCP offre un meccanismo per chiudere automaticamente le connessioni ritenute morte a causa del timeout. Si tratta di attivare una bandiera nel socket.
Raúl Salinas-Monteagudo,

Ho abbassato il numero e sono tornato a 0 e ancora non funzionerà. C'è una soluzione diversa a questo?
myselfmiqdad,

1

Il server avrebbe potuto essere indurito. Il motivo potrebbe essere a) l'ip client potrebbe non essere configurato in / etc / allowhosts e / o b) regola firewall unix / linux / selinux non lo consente.


0

Ho avuto lo stesso problema per molto tempo, utilizzo putty per connettermi alle istanze di AWS Linux (alcuni server cloud remoti) Ho letto su come risolverlo con keepAlives in diverse pagine diverse pagine, l'ho provato ma senza risultati.

E proprio ieri, mentre cercavo alcune impostazioni di combinazione di colori, ho trovato questo: https://github.com/jblaine/solarized-and-modern-putty

Oltre a regolare i colori del terminale, applica alcune impostazioni predefinite (come il già citato KeepAlives a 59 secondi più altri), e indovinate un po '? Non ho avuto alcun collegamento chiuso per due giorni interi.


-1

Sei rimasto inattivo più a lungo del timeout della sessione sul dispositivo remoto, quindi ha chiuso la sessione e PuTTy non se l'aspettava.


1
Non esattamente, però: se ci si disconnette (o si è forzatamente disconnessi), la connessione viene interrotta in modo corretto. Quello che è successo qui è che la connessione TCP sottostante era in qualche modo chiusa ("Connessione ripristinata dal peer"), quindi "inaspettatamente".
Daniel B,

Dove vedi "reset"? Per me l'ovvio significato di "inaspettatamente chiuso" è una chiusura TCP non prevista a livello di SSH, e il test lo conferma: se esco o uccido la mia shell ottengo pacchetti SSH serverali (I-ass-u-me CHANNEL_EOF, CHANNEL_CLOSED e / o DISCONNECT), quindi lo scambio FIN e Putty "si chiudono dall'host remoto"; OTOH se uccido -9 il mio SSH ottengo solo lo scambio TCP FIN e "connessione di rete chiusa imprevista del server". Se fosse RST (e non in SYN dove significa rifiutato) sospetterei un po 'di middlebox, coerente con l'altro tuo commento.
dave_thompson_085

@ dave_thompson_085 Hai ragione, ho confuso FIN e RST. Altrimenti, KiTTY dice "Il software ha causato l'interruzione della connessione".
Daniel B,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.