SSH se l'output del comando è più di circa 5 righe


11

Mi è stato consigliato di porre questa domanda qui: sono sconcertato dal seguente problema che sto riscontrando attualmente.
Ho un server Debian 5.0 Linux collegato tramite un cavo ethernet al mio router DSL. Il mio laptop esegue Windows 7 ed è collegato in modalità wireless (802.11b / g) allo stesso router DSL. Se inserisco SSH nel server usando Putty e provo ad eseguire un comando che provoca più righe di output, la mia sessione SSH si blocca. Ex.

ls -al /             // Freezes
ls -al / > ~/boo.txt // OK
vi ~/boo.txt         // OK
top                  // Freezes

Tutti i comandi precedenti funzionano se li eseguo direttamente sul server o se cambio la connessione del mio laptop a una connessione cablata. Cosa dà? Questo problema mi sta davvero sconcertando! Grazie


Potrebbe volerlo chiedere su StackOverflow, ma sembra che potrebbe essere un problema con caratteri speciali (forse il colore) poiché vi non fa alcuna colorazione (a meno che non sia effettivamente vim).
Topher Fangio,

Lo ha chiesto su StackOverflow, ma probabilmente sarebbe meglio spostarlo su ServerFault ... e io sono con Aidan: il mio primo sospettato era l'MTU di rete.
dmckee --- ex gattino moderatore,

Ah ah ah, sì, ServerFault, non StackOverflow ... è un lunedì = P
Topher Fangio,

Risposte:


9

sembra un problema MTU cablato. leggermente...

è possibile che jumboframes sia abilitato? probabilmente no. comunque - prova a impostare MTU inferiore sul debian e vedi se aiuta.


distaccato; questo sembra un problema MTU. Suggerirei di provare pacchetti sempre più grandi (facilmente eseguibili utilizzando il ping) fino a quando non ottieni errori / pacchetti persi. Oppure controlla le impostazioni MTU ovunque :)
MikeyB,

Grazie gente! Abbassare MTU su laptop ha fatto il trucco. MTU si applica a mittente / destinatario / entrambi? Potrei eseguire il ping del server da un laptop con dimensioni dei dati maggiori. Il contrario non era vero. Server Linux: ~ # ping -S 5000 ornamon64-laptop.lan PING Olymponon64-laptop.lan 56 (84) byte di dati 64 byte da xxxx: icmp_seq = 1 ttl = 128 tempo = 2,71 ms Su laptop Windows> ping -l 2048 lastingon64x2-server.lan Esecuzione del ping pingugon64x2-server.lan con 2048 byte di dati: Richiesta scaduta. > ping -l 1048 ornamon64x2-server.lan Pingingolinon64x2-server.lan con 1048 byte di dati: Risposta da xxxx: byte = 1048 tempo = 3 ms TTL = 64

@leftbrainlogic - i problemi con mtu indicano che c'è qualcosa di sospetto nella tua rete. forse il punto di accesso non passa i frame [1500B] più grandi consentiti per Ethernet veloce? hai configurato manualmente il server per usare jumboframes?
pQd

@pQd - No, il server sta solo eseguendo un'installazione vanilla di Debian 5.0. Ho accettato tutti i valori predefiniti tranne il partizionamento del disco e il nome host L'output di ifconfig -a è qui: pastebin.com/f78fcbf3d

@leftbrainlogic - ok; prova ad abbassare mtu come descritto nel mio link. il tuo 1500B ha una lunghezza standard, penso che ciò indichi qualche problema con switch, access point o scheda di rete wifi.
pQd

3

Probabilmente c'è un problema con l'MTU della tua connessione di rete: quando il server Linux tenta di inviare troppi byte di dati in un singolo pacchetto di rete, probabilmente il router si rifiuta di inoltrarlo alla finestra di Windows, perché pensa che la dimensione del pacchetto sia troppo grande per l'invio tramite la rete wireless. Dovresti essere in grado di ridurre l'MTU per l'interfaccia Ethernet sulla scatola di Linux, e questo probabilmente risolverebbe il tuo problema.

Per diagnosticare, prova ping -s <packetsize> <windows-ip> dalla casella di Linux all'IP del tuo computer Windows e ping <linux-ip> <packetsize>dalla finestra di Windows a Linux, con valori diversi per il parametro packetsize, e vedi se la dimensione massima è diversa in entrambe le direzioni.

Inoltre: man pingsu Linux sarà utile per capire cosa sta succedendo.


0

La prima cosa da fare è abilitare la modalità debug, sia sul client che sul server.

PuTTY ha il debug integrato disponibile in Sessione -> Registrazione . Si noti che è necessario caricare la sessione che si intende utilizzare prima di impostare le impostazioni di registrazione. Le impostazioni di registrazione fanno parte della configurazione di una sessione.

Sul server, è possibile lasciare LogLevel su INFO (in /etc/ssh/sshd_config) e modificarlo in DEBUG solo se non si vede nulla relativo al problema. Ricordarsi di disconnettersi e riavviare il server SSH per applicare le modifiche ( /etc/init.d/ssh restart). Se DEBUG non fornisce informazioni utili, provare DEBUG3, come da man sshd_config.

Ti preghiamo di aggiornare la tua domanda con i tuoi risultati!

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.