การหลีกเลี่ยงการหมดเวลา SSH บน Mac OS หรือไม่ [ปิด]


89

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

จากการดูในฟอรัมต่างๆฉันเห็นว่าสามารถแก้ไขตัวเลือก ServerAliveInterval ในไฟล์ / etc / ssh_config ได้ อย่างไรก็ตามดูเหมือนจะไม่มีตัวเลือกนี้ในไฟล์ของฉัน มันจะอยู่ที่ไหน?

ฉันใช้ OpenSSH_5.2p1 บน Snow Leopard

ขอบคุณ!

คำตอบ:


149

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

Host *
 ServerAliveInterval 60

บรรทัดที่สองต้องเยื้องอย่างน้อยหนึ่งช่องว่าง *จะจับคู่โฮสต์ใด ๆ หากคุณต้องการคุณสามารถ จำกัด สิ่งนี้ไว้เฉพาะปลายทางเช่น * somedomain.com

ดูhttp://kehlet.cx/articles/129.html


1
โอเค แต่ฉันจะหาตัวเลือกนี้ได้ที่ไหน อยู่ในไฟล์ใด
Michael Eilers Smith

6
เพียงสร้างไฟล์ ~ / .ssh / config โดยใช้สิ่งต่อไปนี้ (* จะตรงกับโฮสต์ใด ๆ หากคุณต้องการคุณสามารถ จำกัด สิ่งนี้ไว้เฉพาะปลายทางเช่น * kehlet.cx): ตรวจสอบkehlet.cx/articles/129.html
Dominic Green

คุณควรแน่ใจว่าได้เยื้องบรรทัด ServerAlive ด้วยช่องว่างอย่างน้อยหนึ่งช่อง
Ray

หลังจากที่ฉัน ssh ไปยังโฮสต์ระยะไกลแล้วแก้ไขไฟล์กำหนดค่านี้ฉันจำเป็นต้องออกจากการเชื่อมต่อ ssh แล้วทำซ้ำ ssh อีกครั้งหรือจะใช้งานได้กับการเชื่อมต่อ ssh ที่มีอยู่
Sting Jia

@StingJia - ฟังดูเหมือนฉันเข้าใจคำตอบผิด นี่คือการตั้งค่าไคลเอ็นต์ ssh ไม่ใช่การตั้งค่าเซิร์ฟเวอร์ ssh เป็นสิ่งที่คุณต้องกำหนดค่าบนไคลเอนต์ SSH แต่ละตัว นอกจากนี้ไม่ใช่ว่าคำตอบนี้จะถือว่าคุณกำลังเรียกใช้ไคลเอ็นต์ ssh ของคุณบนระบบปฏิบัติการที่คล้าย UNIX หรือสภาพแวดล้อมย่อย หากคุณใช้งานบางอย่างเช่น PuTTY บน Windows คุณอาจต้องค้นหาและกำหนดค่าการตั้งค่าที่คล้ายคลึงกันโดยใช้คำแนะนำที่แตกต่างกัน
Keith
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.