วิธีการเชื่อมต่อฉาบ ssh ไม่เคยหมดเวลาเมื่อผู้ใช้ไม่ได้ใช้งาน?


36

ฉันมีเซิร์ฟเวอร์ Ubuntu 12.04 ที่ฉันซื้อถ้าฉันเชื่อมต่อกับสีโป๊วโดยใช้ ssh และสีโป๊สำหรับผู้ใช้ sudoer จะถูกตัดการเชื่อมต่อโดยเซิร์ฟเวอร์หลังจากเวลาผ่านไปถ้าฉันไม่ได้ใช้งาน

ฉันจะกำหนดค่า Ubuntu เพื่อให้การเชื่อมต่อนี้ยังคงอยู่อย่างไม่มีกำหนดได้อย่างไร?

คำตอบ:


47

หากคุณไปที่การตั้งค่าสีโป๊ว -> การเชื่อมต่อและตั้งค่า "วินาทีระหว่าง keepalives" เป็น 30 วินาทีสิ่งนี้จะช่วยแก้ปัญหาของคุณได้

การกำหนดค่า PuTTY


2
?????? "0 เพื่อปิด" หรือ 30 เพื่อปิด ????????? ฉันคิดว่าเขาจะต้องใส่ 0 แทน 30!
kokbira

1
ไม่มันเป็นเวลาระหว่างการรักษา หากคุณตั้งค่าเป็น 0 จะไม่มีการส่ง keepalives แต่คุณต้องการให้ putty ส่ง sendalives เพื่อให้การเชื่อมต่อมีชีวิตชีวา
das Keks

1
ทำไม 30 วินาที เขาบอกว่าไม่เคยหมดเวลาดังนั้นควรเป็น "9999999999999"?
NoName

1
@NoName เนื่องจากการตั้งค่าสำหรับ "ช่วงเวลา keepalive" นั่นหมายความว่าจะส่ง "ping" ทุก ๆ 30 วินาทีเพื่อป้องกันการเชื่อมต่อไม่ให้หมดเวลา
das Keks

1
สำหรับฉันมันทำงานโดยไม่มีช่องทำเครื่องหมาย tcp เนื่องจากการเชื่อมต่อ tcp ถูกใช้เพื่อส่ง "แพ็คเก็ตว่าง" อาจไม่จำเป็นต้องใช้ตัวเก็บรักษา tcp เพิ่มเติม หากการเชื่อมต่อไม่ได้ใช้งาน tcp ถูกฆ่าโดยเราเตอร์หรือไฟร์วอลล์ภายในไม่กี่วินาทีช่องทำเครื่องหมายนี้อาจช่วยได้ (หรือตั้งค่าวินาทีระหว่าง keepalives ถึง 5 หรือ 1)
das Keks

10

นอกเหนือจากคำตอบจาก "das Keks" มีอย่างน้อยหนึ่งแง่มุมอื่น ๆ ที่สามารถส่งผลกระทบต่อพฤติกรรมนี้ Bash (โดยปกติคือเชลล์เริ่มต้นบน Ubuntu) มีค่าTMOUTที่ควบคุม (ค่าทศนิยมในไม่กี่วินาที) หลังจากนั้นช่วงเวลาของเชลล์ที่ไม่ทำงานจะหมดเวลาและผู้ใช้จะถูกล็อกเอาต์


นอกจากนี้ฉันขอแนะนำให้คุณทำอย่างอื่นอย่างสิ้นเชิง ตั้งค่าbyobu(หรือเพียงtmuxอย่างเดียวตามที่เหนือกว่า GNU screen) และเข้าสู่ระบบและแนบไปกับเซสชันที่มีอยู่ก่อนหน้าเสมอ (นั่นคือ GNU screenและtmuxคำศัพท์) วิธีนี้แม้ว่าคุณจะถูกตัดการเชื่อมต่อโดยการบังคับให้ลองเผชิญหน้ากับปัญหาไฟดับหรือการหยุดชะงักของเครือข่ายสามารถเกิดขึ้นได้ตลอดเวลา และนั่นใช้ได้กับเครื่องที่แตกต่างกัน ดังนั้นคุณสามารถเชื่อมต่อกับเซสชันเดียวกันจากเครื่องอื่น (เช่นจากที่บ้าน) ความเป็นไปได้นั้นมีมากมายและเป็นตัวเพิ่มประสิทธิภาพที่แท้จริง และอย่าลืมเทอร์มินัลมัลติเพล็กเซอร์เอาชนะหนึ่งในข้อเสียใหญ่ของ PuTTY: ไม่มีส่วนต่อประสานแบบแท็บ ตอนนี้คุณจะได้รับ "แท็บ"screentmux

apt-get install tmux
apt-get install byobu

Byobu เป็น frontend ที่ดีสำหรับมัลติเพล็กเซอร์ของเทอร์มินัล แต่tmuxสะดวกสบายมากที่ในความคิดของฉันมันล้าสมัยbyobuไปมาก tmuxดังนั้นคำแนะนำของฉันจะเป็น

ค้นหา "dotfiles" โดยเฉพาะtmux.confและ.tmux.confบนเว็บเพื่อค้นหาการปรับแต่งที่ดีมากมายเพื่อให้คุณเริ่มต้นได้


6

ไปที่ตัวเลือก PuTTy -> การเชื่อมต่อ

  1. เปลี่ยนค่าเริ่มต้นสำหรับ "วินาทีระหว่าง keepalives (0s เพื่อปิด)"
    • เปลี่ยนจาก 0s เป็น 60s (1 นาที) - ค่านี้ลดลง ... ลดลงหาก 1 นาทีไม่ช่วย
  2. ทำเครื่องหมายที่ช่อง "เปิดใช้งาน TCP_keepalives (ตัวเลือก SO_KEEPALIVE)"
  3. ในที่สุดก็บันทึกการตั้งค่าสำหรับเซสชัน

0

ฉันทำให้เซสชัน PuTTY ของฉันยังมีชีวิตอยู่ได้โดยการตรวจสอบบันทึก cron

tail -f /var/log/cron

ฉันต้องการเซสชัน PuTTY ยังมีชีวิตอยู่เพราะฉันพร็อกซี่ผ่านถุงเท้า


0

การหมดเวลา 30 วินาทีไม่เคยทำงานให้ฉันดังนั้นฉันจึงลองเล่นกับบิตและหาวิธีแก้ปัญหาโดยเพิ่มการหมดเวลาเป็น 240 (4 นาที) ตอนนี้มันทำงานเหมือนมีเสน่ห์

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