ssh เซสชันหมดเวลาว่าง


9

เครื่องโซลาริสที่เราทำส่วนใหญ่ในการพัฒนาของเรานั้นมีนิสัยที่น่ารำคาญในการจับเวลาเซสชัน SSH ไม่สำคัญว่าลูกค้าคือเดสก์ท็อป Ubuntu ของฉันเดสก์ท็อป Solaris หรือเดสก์ท็อป Windows ของฉัน (ฉาบ) ปัจจัยทั่วไปคือเครื่องโซลาริสขนาดใหญ่

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

คำตอบ:


8

ใช่. กำหนดค่า SSH การส่งแพ็กเก็ต keepalive


เรามี "KeepAlive ใช่" ใน / etc / ssh / sshd_config มันไม่มีค่า ClientAliveInterval แม้ว่า; ดังนั้นฉันได้เพิ่มสิ่งนั้นแล้วเราจะดูว่ามันเป็นไปอย่างไร
Andrew

1
นอกจากนี้ยังเป็นที่น่าสังเกตว่าคุณสามารถทำสิ่งนั้นด้วยวิธีอื่นได้เช่นกัน หากคุณไม่สามารถเปลี่ยนการกำหนดค่าเซิร์ฟเวอร์คุณสามารถให้ไคลเอ็นต์ ssh ส่งแพ็กเก็ต keep alive แทนโดยใช้ ServerAliveInterval
SpoonMeiser

ตำแหน่งของบทความนั้นเปลี่ยนไป นี่คือรายการปัจจุบัน: forumone.com/blogs/post/quick-tip-ssh-keepalive
John Bachir

2

ฉันพบว่าพฤติกรรมแบบรักษาไม่ได้ผล ฉันพยายามเพิ่ม ServerAliveInterval ให้กับสคริปต์ ~ / .ssh / config แต่มันเล่นได้ไม่ดีกับ git

สิ่งที่ฉันทำคือการเพิ่มการประทับเวลาในแถบสถานะ 'หน้าจอ' ของฉัน นี่เป็นกิจกรรมที่เพียงพอในการเชื่อมต่อ


หากคุณต้องการฟังก์ชั่นนี้นอกหน้าจอ (1) ลองดูSpinner
Drew Stephens

1

คุณสามารถกำหนดค่า Putty เพื่อส่งแพ็กเก็ต keep alive ได้เช่นกัน

ในการตั้งค่าการเชื่อมต่อวินาทีระหว่าง keepalives


1

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

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

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


1

หากคุณมีปัญหาในการกำหนดค่าเชลล์อีกครั้งคุณสามารถใช้หน้าจอ GNU หากเซสชัน SSH ของคุณหมดเวลาให้ลงชื่อเข้าใช้อีกครั้งและเชื่อมต่ออีกครั้งและเชลล์ของคุณจะเหมือนเดิม


0

หากคุณรัน tcsh บนเครื่อง Solaris สามารถตั้งค่าตัวแปร autologout ได้ หากคุณตั้งค่าเป็น 0 (ตั้งค่า autologout = 0) หรือยกเลิกการตั้งค่า (ยกเลิกการตั้งค่า autologout) มันจะหยุดคุณออกจากระบบ


0

นี่อาจเป็นปลาเฮอริ่งแดง แต่ลอง

unset TMOUT

ที่เชลล์พรอมต์ของคุณ สิ่งนี้ได้ผลกับฉันในอดีต แต่ฉันจำไม่ได้ว่ามัน จำกัด เฉพาะสถาปัตยกรรม (หรือเปลือกหอย) หรือไม่



0

คุณสามารถทำงานtopในอาคารอื่นได้หรือไม่ ที่ควรสร้างการรับส่งข้อมูลปกติ



-1

ฉันเคยประสบความสำเร็จกับ 'ClientAliveInterval 300' บนเซิร์ฟเวอร์ linux / bsd


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.