ฉันมีเครือข่ายท้องถิ่นขนาดเล็กที่ piggybacks บนเชลย WiFi และฉันใช้ssh
บน OS X ด้วย-oServerAliveInterval=240
และ PuTTY 0.62 บน Windows 7 Professional สำหรับการสร้างการเชื่อมต่อกับ Linode, Hetzner และเซิร์ฟเวอร์อื่น ๆ ของฉัน
ด้วย PuTTY ฉันเลือกConnection
→ Sending of null packets to keep session active
ถึง 240 การEnable TCP keepalives (SO_KEEPALIVE option)
ปิดตามค่าเริ่มต้น
เมื่ออินเทอร์เน็ตของฉันหยุดทำงานชั่วคราวเป็นเวลาประมาณหนึ่งนาที (ต้องตรวจสอบสิทธิ์อีกครั้งบน Captive Portal) PuTTY มักจะสูญเสียเซสชัน ssh ที่เปิดอยู่ทั้งหมดที่ฉันมีและโดยเฉพาะอย่างยิ่งผู้ที่มีกิจกรรมใด ๆ แต่ OpenSSH บน OS X ไม่แพ้เซสชันใด ๆ ตราบใดที่อินเทอร์เน็ตของฉันสำรองภายในประมาณหนึ่งหรือสองนาทีแม้ว่าฉันจะพยายามพิมพ์บางอย่างใน ssh และไม่เห็นการตอบกลับตลอดทั้ง 60 วินาทีหรือมากกว่านั้นจนกว่าการเชื่อมต่อของฉันจะเปิดใช้งานอีกครั้ง (ดังนั้นฉันรู้ว่า NAT ของอเมริกานั้นถูกสงวนไว้เสมอ)
ฉันสามารถหยุด Windows / PuTTY จากการยกเลิกการเชื่อมต่อที่ดีได้ไหม?
ดูเหมือนว่าฉันจะเป็น SO_KEEPALIVE หรือบางอย่างนั้นเปิดอยู่ตามค่าเริ่มต้นใน Windows และการหมดเวลาสำหรับการตรวจหาการเชื่อมต่อที่เก่าเกินไปนั้นเล็กเกินไป ฉันต้องการเพิ่มให้เป็นอะไรที่มากกว่าสองสามวินาทีเช่นเดียวกับที่ OS X มีภูมิคุ้มกันต่อการหยุดทำงานชั่วคราวสั้น ๆ เหล่านี้ตราบใดที่ไฟฟ้าดับเพียงสองสามร้อยวินาทีและต่ำกว่าค่าของ-oServerAliveInterval
(เท่าServerAliveCountMax
)
mosh
นี้เป็นทางเลือกที่ดีกว่า)