เหตุใดการหมดเวลาการส่งต่อ ssh X หลังจากผ่านไประยะหนึ่ง


26

ดังนั้นฉันมีแม็คในที่ทำงานซึ่งฉันชอบที่จะ ssh ลงในกล่องลินุกซ์ของฉันด้วยสิ่งนี้:

$ ssh -Xt user@mylinux

ฉันสามารถเข้าสู่ระบบและเริ่มแอพ X11 บนกล่อง linux ของฉันได้ไม่มีปัญหา แต่หลังจาก 15 นาทีหรือมากกว่านั้นฉันกลับมาที่เซสชันอีกครั้ง (ssh ยังคงทำงานและเชื่อมต่ออยู่) และฉันได้รับ:

$ xterm 
xterm Xt error: Can't open display: localhost:12.0

ฉันพยายามใช้-o "TCPKeepAlive yes"หรือ-o "ServerAliveInterval 30"แต่ก็ยังคงมีพฤติกรรมเหมือนเดิม

มีบางสิ่งใน ssh หรือบน Mac หรือ linux ของฉัน sshd conf ที่ฆ่า X-forwarding หลังจากไม่มีการใช้งานเป็นระยะเวลาหนึ่งหรือไม่?


เซิร์ฟเวอร์ X ยังทำงานอยู่หรือไม่ แอป X ที่มีอยู่ถูกฆ่าหรือไม่
Ignacio Vazquez-Abrams

(จะแสดงความคิดเห็นเกี่ยวกับคำตอบของบ็อบ 2012-11-25 แต่จะไม่ให้ฉัน) ดูunix.stackexchange.com/questions/107547/…ซึ่งเราพบว่าคุณไม่สามารถ (ในปี 2019) ปิดใช้งานการหมดเวลานี้ แต่ คุณสามารถขยายได้ การหมดเวลาสูงสุดคือ uint_max มิลลิวินาทีลบด้วยการหย่อนเพียงแค่ 24 วัน OpenSSH_7.4p1 จะยอมรับssh -o ForwardX11Timeout=2147423s -X ...คำตอบที่ดีที่สุดที่ฉันสามารถทำได้ตอนนี้ ForwardX11Timeout ด้านบนอาจทำให้ XServer ขัดข้องในบางรุ่น ใน MacOS กับ XQuartz ฉันได้เห็น `Warni
mcast

คำตอบ:


27

ค่าเริ่มต้นForwardX11Timeoutคือ 20 นาทีสำหรับssh -Xแต่คุณสามารถตั้งค่าเป็นขนาดใหญ่ (เช่น7d7 วัน) ใน.ssh/config

"เชื่อถือได้" การส่งต่อ X11 ผ่านssh -Yจริงช่วยให้สิ่งที่น่ารังเกียจเช่นการตรวจสอบการกดแป้นพิมพ์และคว้าหน้าจอ


3
man ssh_configสำหรับเอกสารตัวเลือกนี้ :)
drAlberT

19

การใช้การ-Xส่งต่อ X11 ถูกเปิดใช้งานในโหมด "ไม่น่าเชื่อถือ" ใช้ประโยชน์จากส่วนขยายความปลอดภัย X11 ต่างๆรวมถึงคุกกี้ Xauth แบบ จำกัด เวลา

ใช้-Yเพื่อเปิดใช้งานโหมด "Trusted" สำหรับ X11 ซึ่งจะช่วยให้สามารถเข้าถึงเซิร์ฟเวอร์ X11 ของคุณได้อย่างสมบูรณ์

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