หากคุณเป็นผู้ใช้ SSH ทั่วไปคุณอาจสังเกตเห็นว่าบางครั้ง "ตัดการเชื่อมต่อเอง" ในการแก้ไขปัญหานี้คุณเพียงแค่เอามือ "สกปรกเล็กน้อย" และเปลี่ยนไฟล์กำหนดค่าบางไฟล์ |
ในการดำเนินการนี้คุณต้องเปลี่ยนค่าที่กำหนดให้กับ 2 ตัวแปร ServerAliveCountMax และ ServerAliveInterval
ServerAliveCountMax ตั้งค่าจำนวนข้อความ "เซิร์ฟเวอร์ยังมีชีวิตอยู่" ที่สามารถส่งได้โดยที่ ssh ไม่ได้รับการตอบกลับจากเซิร์ฟเวอร์ ข้อความประเภทนี้จำเป็นอย่างยิ่งที่จะต้องทราบว่าการเชื่อมต่อยังทำงานอยู่หรือไม่ (เซิร์ฟเวอร์อาจ "ล่ม" เป็นต้น)
ServerAliveInterval ตั้งค่าช่วงเวลา (เป็นวินาที) หลังจากนั้นในกรณีที่ไม่มีการตอบกลับจากเซิร์ฟเวอร์ ssh จะส่งข้อความร้องขอการตอบกลับอีกครั้ง
บนไคลเอนต์
เพื่อให้การเปลี่ยนแปลงมีเอฟเฟกต์สำหรับผู้ใช้ทุกคนต้องแก้ไขไฟล์ / etc / ssh / ssh_config. ในทางกลับกันหากคุณต้องการให้การเปลี่ยนแปลงมีผลกับผู้ใช้ของคุณเท่านั้นให้แก้ไขไฟล์ ~ / .ssh / config.
เพิ่มสิ่งต่อไปนี้ในไฟล์คอนฟิกูเรชัน SSH:
โฮสต์ *
ช่วง ServerAlive 300
ServerAliveCountสูงสุด 3
บนเซิร์ฟเวอร์
เพื่อให้เซิร์ฟเวอร์คงการเชื่อมต่อกับไคลเอนต์ทั้งหมดให้เพิ่มสิ่งต่อไปนี้ในไฟล์ / etc / SSH / sshd_config:
ช่วง ServerAlive 300
ServerAliveCountสูงสุด 3
การกำหนดค่านี้ทำให้ไคลเอนต์ / เซิร์ฟเวอร์ส่งข้อความถึงคู่ค้าทุก ๆ 300 วินาที (5 นาที) และยอมแพ้ในโอกาสที่ 3 หากไม่ได้รับการตอบสนองใด ๆ
http://mosh.mit.edu/
ดีมากแม้ว่าใน Archlinux เราแก้ไขไฟล์เดียวกัน / etc / ssh / sshd_config และ uncomment (ลบ #) ClientAliveInterval และเปลี่ยนค่าจาก 0 เป็น 300 เรายังยกเลิกการใส่ข้อคิดเห็น ClientAliveCountMax และปล่อยให้ค่าเริ่มต้นคือ 3 (สำหรับไคลเอนต์ ).
ขอบคุณมากสำหรับข้อมูลด้วยสิ่งนี้ฉันจะประหยัดงานได้มาก