ค้นหาเว็บไซต์

วิธีเพิ่มการหมดเวลาการเชื่อมต่อ SSH ใน Linux


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

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

การอ่านที่เกี่ยวข้อง: วิธีรักษาความปลอดภัยและทำให้เซิร์ฟเวอร์ OpenSSH แข็งแกร่งขึ้น

ตอนนี้เรามาดูกันว่าคุณสามารถเพิ่มการหมดเวลาการเชื่อมต่อ SSH ใน Linux ได้อย่างไร

เพิ่มการหมดเวลาการเชื่อมต่อ SSH

บนเซิร์ฟเวอร์ ให้ไปที่ไฟล์การกำหนดค่า /etc/ssh/sshd_config

sudo vi /etc/ssh/sshd_config

เลื่อนและค้นหาพารามิเตอร์ต่อไปนี้:


#ClientAliveInterval 
#ClientAliveCountMax

พารามิเตอร์ ClientAliveInterval ระบุเวลาเป็นวินาทีที่เซิร์ฟเวอร์จะรอก่อนที่จะส่งแพ็กเก็ต null ไปยังระบบไคลเอ็นต์เพื่อรักษาการเชื่อมต่อให้คงอยู่

ในทางกลับกัน พารามิเตอร์ ClientAliveCountMax จะกำหนดจำนวนข้อความที่ยังมีอยู่ของไคลเอ็นต์ซึ่งจะถูกส่งโดยไม่ได้รับข้อความใดๆ จากไคลเอ็นต์ หากถึงขีดจำกัดนี้ในขณะที่กำลังส่งข้อความ sshd daemon จะยกเลิกเซสชัน ซึ่งจะยุติเซสชัน ssh อย่างมีประสิทธิภาพ

ค่าการหมดเวลาจะได้รับจากผลคูณของพารามิเตอร์ข้างต้น เช่น

Timeout value = ClientAliveInterval * ClientAliveCountMax

ตัวอย่างเช่น สมมติว่าคุณได้กำหนดพารามิเตอร์ตามที่แสดง:


ClientAliveInterval  1200
ClientAliveCountMax 3

ค่า หมดเวลา จะเป็น 1200 วินาที * 3=3600 วินาที ซึ่งเทียบเท่ากับ 1 ชั่วโมง ซึ่งหมายความว่าเซสชัน ssh ของคุณจะยังคงอยู่เป็นเวลาว่าง 1 ชั่วโมง โดยไม่ลดลง

หรือคุณสามารถได้รับผลลัพธ์เดียวกันโดยการระบุพารามิเตอร์ ClientAliveInterval เพียงอย่างเดียว


ClientAliveInterval  3600

เมื่อเสร็จแล้ว ให้โหลด OpenSSH daemon อีกครั้งเพื่อให้การเปลี่ยนแปลงมีผล

sudo systemctl reload sshd
บทสรุป

ตามมาตรการรักษาความปลอดภัย SSH ขอแนะนำเสมอว่าอย่าตั้งค่าการหมดเวลาของ SSH ให้เป็นค่าที่มาก นี่เป็นการป้องกันไม่ให้ใครบางคนเดินผ่านและแย่งชิงเซสชันของคุณเมื่อคุณไม่อยู่เป็นระยะเวลานาน และนั่นคือทั้งหมดสำหรับหัวข้อนี้