Improvvisamente SSH non funziona più: "Scrittura fallita: Broken Pipe"


9

Uso un macbook pro a casa e spendo regolarmente nelle macchine del mio laboratorio. Negli ultimi 3-4 giorni, tuttavia, ogni volta che inserisco SSH nella macchina in laboratorio, ottengo un errore di scrittura non riuscita: errore del tubo rotto, a malapena entro 2 minuti da me.

Il fatto che tutto funzionasse perfettamente qualche giorno fa mi sorprende e qualsiasi aiuto per far funzionare di nuovo le cose sarebbe molto apprezzato.


2
Stai usando ServerAliveIntervalo no? In caso contrario, prova a impostarlo.
— 0xC0000022L

Sì, lo sono. È impostato su 30. Ho provato 15, 30, 60 e non ha influito sulle prestazioni (o sulla sua mancanza)
— NSR

Hai provato 1SSHing da un'altra macchina nel laboratorio per vedere se si tratta del macbook? e 2SSHing dal macbook a un'altra macchina per vedere se è il laboratorio? scoprendo che se uno dei due ha il problema dovrebbe restringere considerevolmente la tua soluzione
— Yuugian,

Bene, ho usato il mio laptop per SSH sulle stesse macchine da una rete diversa (una rete universitaria) e ha funzionato bene. La mia ipotesi è che ci sia qualcosa di strano nella mia rete domestica.
— NSR,

Risposte:


11

Sembra un problema di rete.

Informarsi se alcune apparecchiature di rete sono state modificate o sono state riconfigurate. Informa il tuo amministratore di rete che stai riscontrando problemi durante l'accesso, potrebbe esserci un'errata configurazione in un firewall. Prova ad accedere da altre macchine o ad altre macchine per migliorare la diagnosi.

Una possibile causa di questi sintomi è un conflitto di indirizzi IP. Controlla dove il client e il server stanno ottenendo il loro indirizzo IP. Se continui a ping server.example.comfunzionare, aiuta a prolungare la connessione? In tal caso, si verifica un conflitto di indirizzi IP. ( pingAiuta perché continua a dire ai router lungo il percorso di instradare i pacchetti IP al tuo computer - ma perderai comunque la connessione se l'altro computer invia una risposta ARP prima di te.) Se questo è il problema, devi risolvilo: organizza una delle macchine che usano lo stesso indirizzo per usare un indirizzo diverso.

Controlla anche la tabella di routing sul tuo computer. Assicurarsi che i pacchetti al server siano indirizzati all'interfaccia corretta. (Mentre una tabella di routing errata normalmente non farebbe funzionare la connessione, esiste un caso limite in cui i sintomi sono quelli che descrivi: se ottieni un indirizzo con DHCP e il server DHCP è anche il server che stai contattando - l'indirizzo del server DHCP verrà instradato all'interfaccia desiderata fino alla scadenza della cache ARP.)


1
ah! il ping di un server arbitrario sembra funzionare (finora). Sembra che sia stato uno scontro di indirizzi IP. Investigherò ulteriormente e cercherò che ciò non accada. Grazie !!
— NSR,

Ciao Gilles, grazie per la soluzione fornita. Sto risolvendo questo problema da 5 giorni configurando i parametri ssh così via ... Ma non ha funzionato. La tua soluzione mi ha aiutato molto. Grazie molto.
— Rajasekhar,

1

Ciò potrebbe essere dovuto alla perdita di pacchetti. Uno strumento come mtrpotrebbe aiutarti a diagnosticare quale degli host nel percorso sta causando problemi. Qui troverai le istruzioni per installarlo su Mac OS X.


1

Ho riscontrato questo problema con alcuni server nell'ufficio principale e l'ho risolto usando:

TCPKeepAlive yes
ServerAliveInterval 5

nel file di configurazione ssh ( ~/.ssh/config or /etc/ssh/ssh_config).

Solo più tardi ho scoperto che era stato causato da un hardware installato per ottimizzare la comunicazione tra gli uffici che interferivano.


1

Ho risolto il mio problema in Mac OS X, ho cambiato il

#ClientAliveInterval 0

per

ClientAliveInterval 300

nel /etc/sshd_configseguire questo , e riavviare il computer, fatto.


1
Su MAC OS X 10.12.6 era in / etc / ssh / sshd_config
— WebOrCode
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.