สิ่งที่อาจทำให้เซสชันช้า ssh? [ปิด]


46

ฉันโฮสต์บนรีโมตโฮสต์ แต่ประสิทธิภาพเทอร์มินัลไม่ดี สัญลักษณ์ที่ฉันกำลังพิมพ์จะไม่ปรากฏขึ้นทันที แต่มีความล่าช้า บางครั้งสองสัญลักษณ์จะแสดงในครั้งเดียวหลังจากล่าช้า


Mosh เป็นตัวแทนที่ดีของ ssh เพื่อป้องกันปัญหานี้: mosh.mit.edu
Steven C. Howell

6
เซิร์ฟเวอร์ ssh ... ทำไมถึงถูกปิด? มันเป็นปัญหาของเซิร์ฟเวอร์อย่างชัดเจน แน่ใจว่าคำตอบบางส่วนของที่นี่มีพื้นฐานจากความคิดเห็น แต่คำถามควรจะดี
j0h

5
ทำไมคำถามนี้ปิด ในกรณีของฉันมันเป็นด้านเซิร์ฟเวอร์ def - พอร์ต UDP ปิด 67/68 มีการเปิดใช้งาน DHCP ในรูปแบบ Vultr ทั่วไปพยายามต่ออายุ pub IP อย่างต่อเนื่อง แต่ถูกบล็อกโดย CSF การอนุญาตให้พอร์ตเหล่านั้นดูเหมือนจะแก้ปัญหาได้รวดเร็ว SSH (และบริการเครือข่ายอื่น ๆ ) อีกครั้ง อย่าลืมว่าถ้าคุณใช้ภาพ VPS ที่เป็นค่าเริ่มต้นหรือคล้ายกัน
dhaupin

5
นี่เป็นปัญหาเครือข่าย (ทั่วไป) อย่างชัดเจน ฉันเชื่อว่าไม่มีเหตุผลที่จะปิดมันและแน่นอนว่าไม่ได้ปิดหัวข้อ แม้ (โดยเฉพาะ) เมื่อปัญหาสามารถมีหลายสาเหตุซึ่งเป็นการยากที่จะระบุ
mivk

คำตอบ:


17

เวลาแฝงสูงเป็นสาเหตุของประสิทธิภาพการทำงานที่ไม่ดี ฉันขอแนะนำให้ใช้ mtr แทนการติดตามที่ดีกว่า ควรจะสามารถให้คุณทราบถึงปัญหาที่เครือข่ายของคุณอาจเกิดขึ้น


13

การปิดใช้งานการส่งต่อ X11 หากคุณไม่ต้องการ (ssh -x) และการเปิดใช้งานการบีบอัด (ssh -C) สามารถเพิ่มความเร็วเซสชันของคุณได้


9

ฉันนึกถึงสาเหตุที่เป็นไปได้สองประการ:

  1. แพ็กเก็ตสูญเสียการเชื่อมต่อ
  2. โหลดสูงบนเซิร์ฟเวอร์

3

ฉันพยายามวัดประสิทธิภาพเครือข่ายโดยเร็ว ๆ นี้พบว่าเทอร์มินัลนั้นใช้ได้ เกิดอะไรขึ้น?

เรามีโหลดบาลานซ์ระหว่างเราเตอร์ช่องทางอินเทอร์เน็ตสองตัว บางครั้งมันกำหนดเส้นทางการรับส่งข้อมูลของฉันผ่าน wan1 และบางครั้งผ่าน wan2 ฉันเสนอว่ามีบางอย่างผิดปกติกับช่องทางเดียวเท่านั้น ดังนั้นฉันวัดประสิทธิภาพเครือข่ายด้วย mtr (เครื่องมือที่ยอดเยี่ยม!) สำหรับสองช่องทางแยกกัน

ใช่! wan2 มี 21 ฮ็อพที่มี 110 มิลลิวินาทีและ wan1 มี 15 ด้วยเพียง 21 มิลลิวินาที! wan2 latency เป็นปัญหา


3

ใช้การบีบอัดและการบีบอัดระดับของ 9 ที่ควรช่วยเล็กน้อย คุณสามารถกำหนดค่าพารามิเตอร์เหล่านี้ใน / etc / ssh / ssh_config แต่ถ้าเครือข่ายจริงแย่มากเทคนิคนี้จะไม่ทำดีมาก


2

สาเหตุที่ชัดเจนที่สุดสำหรับพฤติกรรมนี้คือการเชื่อมโยงที่มีความอิ่มตัวหรือแพ็คเก็ตที่ลดลง คุณมีฮ็อพกี่อันจากเวิร์คสเตชั่นของคุณไปยังเครื่องที่คุณกำลังทำอยู่? คุณได้วิเคราะห์ traceroute (ถ้ามี) หรือไม่?


2

ถ้าคุณใช้ OpenSSH กับ long-fat-pipe (แบนด์วิดท์สูง + latency สูง) ให้แน่ใจว่าคุณใช้อย่างน้อยเวอร์ชั่น 4.7 ทั้งสองด้านเพราะมันมีการแก้ไขเพื่อให้ OpenSSH ใช้ขนาดหน้าต่าง tcp ที่ใหญ่ขึ้น

 * The SSH channel window size has been increased, and both ssh(1)
   sshd(8) now send window updates more aggressively. These improves
   performance on high-BDP (Bandwidth Delay Product) networks.

สิ่งนี้อาจมีความสำคัญหากคุณต้องการใช้การเชื่อมต่อเต็มศักยภาพเพราะมิฉะนั้นผู้ส่งอาจต้องรอ acks ก่อนจึงจะสามารถส่งต่อได้


1

ตามที่ผู้อื่นพูดแล้วอาจมาจากเวลาแฝงการสูญเสียบนเครือข่ายของคุณเซิร์ฟเวอร์ที่ช้า
บางครั้งคุณจะเห็น 2 ตัวอักษรที่ประเภทหนึ่งเพราะสแต็ค TCP ที่ทันสมัยใช้วิธีที่เรียกว่าNaggle


1
อัลกอริทึมของ Nagle นั้นถูกปิดใช้งานในแอปพลิเคชันแบบอินเทอร์แอคทีฟเช่น telnet & SSH
LapTop006

1
คุณมีข้อมูลไม่เพียงพอที่จะพูดว่า "เสมอ" เราไม่ทราบว่าลูกค้าหรือเซิร์ฟเวอร์ของ ssh ใช้อะไรอยู่ เราไม่รู้จักระบบปฏิบัติการที่เขาใช้ เป็นต้นสำหรับระบบปฏิบัติการบางตัวการตั้งค่าระดับเคอร์เนลอาจส่งผลต่อการตั้งค่า TCP_NODELAY ที่ระดับแอปพลิเคชัน
รัศมี

1

อาจเป็นความพยายามของ SSH Brute Force ที่ควบคุมการเชื่อมต่อของคุณ ทุกครั้งที่เซสชันของฉันทำงานช้าฉันจะตรวจสอบบันทึกและในหลายกรณีมีคนพยายามใช้รหัสผ่านอย่างบ้าคลั่ง


1

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


1
ฉันพบว่าฉันสามารถวางรายการ IP ใน / etc / hosts สำหรับเซิร์ฟเวอร์ที่มีการเข้าสู่ระบบ SSH ช้าและมักจะเพิ่มความเร็วในการเชื่อมต่อเริ่มต้น แต่การแก้ไขที่แท้จริงคือการทำให้ DNS ทำงานอย่างถูกต้อง
ServerChecker

1

สิ่งหนึ่งที่ควรพิจารณาคือหน่วยความจำเซิร์ฟเวอร์ ฉันใช้ Ubuntu VM ที่มีหน่วยความจำ 256Mb และ SSH ค่อนข้างซบเซา การเพิ่มขนาดนี้เป็น 512Mb ช่วยแก้ปัญหาได้

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