วิธีรักษาการเชื่อมต่อ SSH ให้ "มีชีวิต"

หากคุณเป็นผู้ใช้ 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 หากไม่ได้รับการตอบสนองใด ๆ