เหตุใดเซสชัน ssh ของฉันจึงหยุดชั่วครู่ [ปิด]


10

ขออภัยหากนี่ไม่ใช่สถานที่ที่เหมาะสมสำหรับการถามคำถามนี้

ฉันต้องการ ssh ไปยังเซิร์ฟเวอร์ต่าง ๆ เป็นประจำ ตอนนี้จากเครื่องที่บ้านของฉัน (ลินุกซ์มิ้นท์) เมื่อฉันเชื่อมต่อผ่าน ssh หลังจากที่ไม่มีการใช้งานบางเวลาเชลล์ ssh ของฉันค้างและไม่มีทางที่จะเอากลับคืนมาได้ สิ่งเดียวที่ฉันทำได้คือ '~.' อย่างน้อยก็ให้เปลือกเริ่มต้นของฉันกลับมา

เมื่อฉันเข้าสู่ระบบจากที่ตั้งอื่นไปยังเซิร์ฟเวอร์เดียวกันไม่มีปัญหา นั่นอาจเป็นปัญหากับ ISP ของฉันหรือไม่ ฉันจะตรวจสอบเพิ่มเติมเกี่ยวกับอันนี้ได้อย่างไร

มันน่ารำคาญจริง ๆ เนื่องจากฉันต้องสร้างการเชื่อมต่อ ssh อีกครั้งหลังจากการแช่แข็งนำทางกลับไปยังตำแหน่งที่ฉันอยู่และทำงานต่อ ขอบคุณ


คุณมีที่อยู่ IP แบบคงที่หรือไม่? หากไม่ใช่อาจเป็นไปได้ว่า ISP ของคุณมอบที่อยู่ IP ที่ต่างกันให้กับคุณในช่วงกลาง - ตรวจสอบบันทึกและดู
9517

ฉันไม่มีที่อยู่ IP แบบคงที่ จะตรวจสอบ
coccolithophore

คำตอบ:


20

NAT ของคุณกำลังปล่อยซ็อกเก็ต TCP ของคุณหลังจากที่ไม่มีกิจกรรมเป็นระยะเวลาหนึ่ง

ไคลเอ็นต์ ssh ของคุณสามารถส่ง noops เป็นระยะ ๆ ไปยังเซิร์ฟเวอร์ได้ซึ่งจะช่วยขจัดปัญหานี้ได้ หากต้องการทำสิ่งนี้เพิ่มสิ่งนี้ใน~/.ssh/config:

Host *
  ServerAliveInterval 60

อีกทางหนึ่งให้กำหนดค่า NAT ของคุณใหม่เพื่อไม่ให้ไอเท็มออกจากตารางสถานะอย่างรวดเร็วเหมือนตอนนี้


นอกเหนือจากข้างต้นคุณควรใช้เทอร์มินัลมัลติเพล็กเซอร์สำหรับเซสชันของคุณเช่นหน้าจอ GNU หรือ tmux ด้วยวิธีใดวิธีหนึ่งคุณสามารถกู้คืนเซสชันของคุณในกรณีที่ถูกตัดการเชื่อมต่อ


อาจเป็น NAT หรือไฟร์วอลล์ใด ๆ ที่ผิดพลาดอย่างเจ็บปวดในพา ธ ซึ่งชอบที่จะดรอปเซสชัน TCP ที่ไม่ทำงาน ไม่มีเหตุผลที่จะปล่อยเซสชัน TCP ที่ไม่ทำงานนอกจากการไม่มีหน่วยความจำในการรักษาสถานะ แต่ควรเกิดขึ้นบ่อยมากถ้าคุณปรับขนาดและกำหนดค่าอุปกรณ์ของคุณอย่างถูกต้อง มันเป็นคุณสมบัติที่ดีที่จะรู้ว่าผู้ให้บริการ / ผู้ดูแลระบบของคุณมีความสามารถ (หรือไม่)
zerodeux

0

ในกรณีของฉันปัญหาคือขนาดใหญ่ MTU คุณสามารถเปลี่ยน MTU บนเราเตอร์หากคุณใช้ NAT แต่ฉันเปลี่ยน MTU บนเซิร์ฟเวอร์:

sudo /sbin/ifconfig eth0 mtu 1036
sudo /etc/init.d/networking restart

บน Windows คุณสามารถเพิ่มรหัสนี้ได้:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpMaxDataRetransmissions"=dword:00000010
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.