Mir wurde geraten, diese Frage hier zu stellen: Ich bin verblüfft über das folgende Problem, das ich derzeit habe.
Ich habe einen Debian 5.0 Linux-Server, der über ein Ethernet-Kabel mit meinem DSL-Router verbunden ist. Auf meinem Laptop läuft Windows 7 und er ist drahtlos (802.11b / g) mit demselben DSL-Router verbunden. Wenn ich mit Putty eine SSH-Verbindung zum Server herstelle und versuche, einen Befehl auszuführen, der zu mehreren Ausgabezeilen führt, friert meine SSH-Sitzung ein. Ex.
ls -al / // Freezes
ls -al / > ~/boo.txt // OK
vi ~/boo.txt // OK
top // Freezes
Alle oben genannten Befehle funktionieren, wenn ich sie direkt auf dem Server ausführe oder wenn ich die Verbindung meines Laptops in eine Kabelverbindung ändere. Was gibt? Dieses Problem verwirrt mich wirklich! Vielen Dank
linux
networking
ssh
debian
Gemeinschaft
quelle
quelle
Antworten:
klingt wie ein kabelgebundenes MTU-Problem. leicht...
Ist es möglich, dass Sie Jumboframes aktiviert haben? wahrscheinlich nicht. Wie auch immer - versuchen Sie, das untere MTU auf dem Debian einzustellen und prüfen Sie, ob es hilft.
quelle
Es liegt wahrscheinlich ein Problem mit der MTU Ihrer Netzwerkverbindung vor. Wenn der Linux-Server versucht, zu viele Datenbytes in einem einzelnen Netzwerkpaket zu senden, weigert sich der Router wahrscheinlich, diese an die Windows-Box weiterzuleiten, da er der Meinung ist, dass die Paketgröße gleich ist zu groß, um über das drahtlose Netzwerk zu senden. Sie sollten in der Lage sein, die MTU für die Ethernet-Schnittstelle auf der Linux-Box zu reduzieren, und dies würde wahrscheinlich Ihr Problem lösen.
Versuchen Sie zur Diagnose
ping -s <packetsize> <windows-ip>
von der Linux-Box zur IP Ihres Windows-Computers undping <linux-ip> <packetsize>
von der Windows-Box zur Linux mit unterschiedlichen Werten für den Paketgrößenparameter, ob die maximale Größe in beiden Richtungen unterschiedlich ist.Außerdem: Unter
man ping
Linux ist es hilfreich zu verstehen, was los ist.quelle
Als erstes müssen Sie den Debug-Modus sowohl auf dem Client als auch auf dem Server aktivieren.
PuTTY verfügt über ein integriertes Debugging, das unter Sitzung -> Protokollierung verfügbar ist . Beachten Sie, dass Sie die Sitzung, die Sie verwenden möchten, laden müssen, bevor Sie die Protokollierungseinstellungen festlegen. Die Protokollierungseinstellungen sind Teil der Konfiguration einer Sitzung.
Auf dem Server können Sie die LogLevel auf INFO (in
/etc/ssh/sshd_config
) belassen und nur dann in DEBUG ändern, wenn Sie nichts zu Ihrem Problem sehen können. Denken Sie daran, sich abzumelden und den SSH-Server neu zu starten, um die Änderungen zu übernehmen (/etc/init.d/ssh restart
). Wenn DEBUG keine nützlichen Informationen liefert, versuchen Sie es mit DEBUG3 gemäßman sshd_config
.Bitte aktualisieren Sie Ihre Frage mit Ihren Ergebnissen!
quelle