SSH ถ้าเอาต์พุตคำสั่งมากกว่า 5 บรรทัด


11

ฉันได้รับคำแนะนำให้ถามคำถามนี้ที่นี่: ฉันรู้สึกงุนงงกับปัญหาต่อไปนี้ที่ฉันกำลังประสบอยู่
ฉันมีเซิร์ฟเวอร์ Debian 5.0 Linux เชื่อมต่อผ่านสายอีเธอร์เน็ตกับเราเตอร์ DSL ของฉัน แล็ปท็อปของฉันใช้ Windows 7 และเชื่อมต่อแบบไร้สาย (802.11b / g) กับเราเตอร์ DSL เดียวกัน ถ้าฉัน SSH เข้าสู่เซิร์ฟเวอร์โดยใช้ Putty และพยายามดำเนินการคำสั่งซึ่งส่งผลให้หลายบรรทัดของการส่งออกเซสชั่น SSH ของฉันค้าง อดีต

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

คำสั่งข้างต้นทั้งหมดใช้งานได้หากฉันเรียกใช้งานโดยตรงบนเซิร์ฟเวอร์หรือหากฉันเปลี่ยนการเชื่อมต่อแล็ปท็อปของฉันเป็นการเชื่อมต่อแบบมีสาย สิ่งที่ช่วยให้? ปัญหานี้ทำให้ฉันงุนงงจริงๆ! ขอบคุณ


อาจต้องการถามเรื่องนี้ใน StackOverflow แต่ดูเหมือนว่าอาจมีปัญหากับตัวอักษรพิเศษ (สีอาจ) เนื่องจาก vi ไม่ได้ทำสีใด ๆ (ยกเว้นว่ามันจะเป็นกลุ่มจริง)
Topher Fangio

เขาไม่ถามมันใน StackOverflow แต่อาจจะดีกว่าย้ายไปยัง ServerFault ... และฉันกับดาน: ผู้ต้องสงสัยแรกของฉันคือ MTU เครือข่าย
dmckee --- ผู้ดูแลอดีตลูกแมว

อ่าฮ่า, ใช่, ServerFault ไม่ใช่ StackOverflow ... มันคือวันจันทร์ = P
Topher Fangio

คำตอบ:


9

ดูเหมือนว่าปัญหา MTU แบบใช้สาย เล็กน้อย...

เป็นไปได้ไหมที่คุณเปิดใช้งาน jumboframes อาจจะไม่. ต่อไป - ลองตั้งค่า mtu ที่ต่ำกว่าบนเดเบียนและดูว่าช่วยได้หรือไม่


หนุน; ดูเหมือนว่าปัญหา MTU ฉันขอแนะนำให้ลองแพ็คเก็ตที่ใหญ่กว่าและใหญ่กว่า (ทำได้ง่ายโดยใช้ ping) จนกว่าคุณจะได้รับข้อผิดพลาด / แพ็กเก็ตที่ถูกทิ้ง หรือเพียงแค่การตรวจสอบการตั้ง MTU ทุก :)
MikeyB

ขอบคุณผู้คน! MTU ที่ลดลงในแล็ปท็อปทำเคล็ดลับ MTU ใช้กับผู้ส่ง / ผู้รับ / ทั้งสองหรือไม่? ฉันสามารถ ping เซิร์ฟเวอร์จากแล็ปท็อปที่มีขนาดข้อมูลใหญ่ สิ่งที่ตรงกันข้ามไม่เป็นความจริง เซิร์ฟเวอร์ Linux: ~ # ping -S 5,000 athlon64-laptop.lan PING athlon64-laptop.lan 56 (84) ไบต์ของข้อมูล 64 ไบต์จาก xxxx: icmp_seq = 1 ttl = 128 เวลา = 2.71 ms สำหรับแล็ปท็อป Windows> ping -l 2048 athlon64x2-server.lan กำลังส่ง Ping ไปที่ athlon64x2-server.lan ที่มีข้อมูล 2048 ไบต์: คำขอหมดเวลา > ping -l 1048 athlon64x2-server.lan ส่ง Ping ไปยัง athlon64x2-server.lan ที่มีข้อมูล 1048 ไบต์: ตอบกลับจาก xxxx: bytes = 1048 เวลา = 3ms TTL = 64

@leftbrainlogic - มีปัญหากับ mtu ระบุว่ามีบางสิ่งบางอย่างในเครือข่ายของคุณ บางทีจุดเชื่อมต่อไม่ผ่านการอนุญาตเฟรมใหญ่สุด [1500B] สำหรับอีเธอร์เน็ตที่รวดเร็ว คุณกำหนดค่าเซิร์ฟเวอร์ด้วยตนเองเพื่อใช้ jumboframes หรือไม่
pQd

@pQd - ไม่เซิร์ฟเวอร์กำลังเรียกใช้การติดตั้ง Vanilla ของ Debian 5.0 ฉันยอมรับค่าเริ่มต้นทั้งหมดยกเว้นการแบ่งพาร์ติชันดิสก์และชื่อโฮสต์เอาต์พุตจาก ifconfig -a อยู่ที่นี่: pastebin.com/f78fcbf3d

@leftbrainlogic - ok; ลองลด mtu ตามที่อธิบายไว้ในลิงค์ของฉัน 1500B ของคุณมีความยาวมาตรฐาน helahtly ฉันคิดว่านี่หมายถึงปัญหาบางอย่างกับสวิตช์จุดเชื่อมต่อหรือการ์ดเครือข่าย wifi
pQd

3

อาจมีปัญหากับ MTU ของการเชื่อมต่อเครือข่ายของคุณ - เมื่อเซิร์ฟเวอร์ Linux พยายามส่งข้อมูลจำนวนมากเกินไปในแพ็กเก็ตเครือข่ายเดียวอาจเป็นไปได้ว่าเราเตอร์ปฏิเสธที่จะส่งต่อไปยังกล่อง windows เพราะคิดว่าขนาดแพ็คเก็ตคือ ใหญ่เกินไปที่จะส่งผ่านเครือข่ายไร้สาย คุณควรจะลด MTU สำหรับอีเธอร์เน็ตอินเตอร์เฟสบนกล่อง linux และนี่อาจจะช่วยแก้ปัญหาของคุณได้

หากต้องการวิเคราะห์ให้ลองping -s <packetsize> <windows-ip> จากกล่อง linux ไปยัง IP ของเครื่อง windows ของคุณและping <linux-ip> <packetsize>จากกล่อง windows ไปยัง linux โดยมีค่าต่างกันสำหรับพารามิเตอร์ packetsize และดูว่าขนาดสูงสุดแตกต่างกันในทิศทางใด

นอกจากนี้: man pingบน linux จะมีประโยชน์สำหรับการทำความเข้าใจว่าเกิดอะไรขึ้น


0

สิ่งแรกที่ต้องทำคือเปิดใช้งานโหมดดีบักทั้งบนไคลเอนต์และเซิร์ฟเวอร์

ฉาบมีในตัวแก้จุดบกพร่องที่มีอยู่ภายใต้เซสชัน -> การบันทึก โปรดทราบว่าคุณต้องโหลดเซสชันที่คุณจะใช้ก่อนตั้งค่าการบันทึก การตั้งค่าการบันทึกเป็นส่วนหนึ่งของการกำหนดค่าของเซสชัน

บนเซิร์ฟเวอร์คุณสามารถปล่อยให้ LogLevel เป็น INFO (ใน/etc/ssh/sshd_config) และเปลี่ยนเป็น DEBUG ก็ต่อเมื่อคุณไม่เห็นสิ่งใดที่เกี่ยวข้องกับปัญหาของคุณ อย่าลืมออกจากระบบและรีสตาร์ทเซิร์ฟเวอร์ ssh เพื่อใช้การเปลี่ยนแปลง ( /etc/init.d/ssh restart) หาก DEBUG ไม่ให้ข้อมูลที่เป็นประโยชน์ลอง DEBUG3 man sshd_configเป็นต่อ

โปรดอัปเดตคำถามของคุณพร้อมกับข้อค้นพบของคุณ!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.