Linux'tan Mac'e SSH iletimli X11 ekranı bir süre sonra kayboldu


10

Mac (10.7.2) 'den Linux'a (Ubuntu 8.04) giriş yaparken X11 bağlantımı yönlendirme ssh ile ilgili yeni ve can sıkıcı bir sorunum var. Uzak makinede oturum açmak ve o kabuktan X11 tabanlı bir uygulama başlatmak için ssh -X kullanarak sorunum yok.

Yakın zamanda gerçekleşmeye başlamış olan şey, bir süre sonra (saat sırasına göre) aynı kabuktan X11 uygulamalarının ek çağrılarının, iletilen ekran engellendiğinden (sanırım) başlayamadığıdır. Örneğin, xterm'i başlatmaya çalışırken, kötü bir EKRAN ayarı hakkında olağan bir mesaj alıyorum, örneğin:

xterm Xt hatası: Ekran açılamıyor: localhost: 10.0

Ancak giriş yaptığımda başladığım X11 uygulaması, aynı ekranı (localhost: 10.0) kullanarak hala iyi çalışıyor, sadece daha önce başlatıldı.

Ben sshd_config ayrıntılı günlüğü açtım ve başarısız xterm başlatma girişimi yanıt olarak /var/log/auth.log dosyasında bu görüyorum:

sshd [22104]: kanal 8: açık başarısız: idari olarak yasaklandı: açık başarısız

Eğer sunucuya tekrar ssh -X ekler, yeni bir kabuk başlatır ve yeni bir ekran atarım (localhost: 11.0), aynı işlem tekrar eder: X11 uygulamaları, açık kaldıkları sürece (günlerce) iyi çalışmaya başladı ), ancak birkaç saat sonra o kabuktan yenilerini başlatamıyorum.

Özellikler: Ubuntu 8.04 üzerinde çalışan OpenSSH sshd sunucusu, varsayılan Apple X sunucusuyla Lion (10.7.2) çalıştıran bir Mac'e iletilir. Sistemler, aralarında tek bir anahtar bulunan bir Ethernet LAN'a bağlanır. Her iki makine de bir güvenlik duvarı çalıştırmıyor. Yakın zamana kadar (birkaç gün önce) bu kurulum mükemmel bir şekilde çalıştı, bu yüzden bir sonraki nereye bakacağım konusunda gizemliyim. Hiçbir şekilde bir X11 veya SSH uzmanı değilim ama iyi UNIX / Linux deneyimim var. Ben sshd_config 'ın TCPKeepAlive hayır olarak ayarlamak ve "host + localhost" ayarlamak gibi (Ben Googling olduğumu söyleyebilirim), bu hata ayıklamak için birkaç seçeneği değiştirmeye çalıştım rağmen istemci veya sunucu yapılandırmasında belirgin bir şey değişmedi.

Bir Linux 11.10 dizüstü bilgisayarından aynı ağ ve anahtar üzerinden aynı uzak ana bilgisayara oturum açarken, bu sorun oluşmaz - bir xterm, aynı ssh oturum açma kabuğundan saatler sonra başarılı bir şekilde çağrılabilir. emin olmak için bu sabah test edildi), bu yüzden Mac'e özgü bir sorun gibi görünüyor.

Uzak makinede (sshd sunucusu) "LogLevel DEBUG3" ayarlıyken ve istemci bağlantılarında benim tarafımdan herhangi bir değişiklik yapılmadığında, /var/log/auth.log, gece bağlantı bağlantı raporlarında küçük bir değişiklik gösterir; bu, kullanılan bağlantı noktası numarasıdır Linux makinesinden bir başarılı ssh oturumu tarafından (sanırım), aşağıdaki bağlantı # 7:

sshd [20173]: hata ayıklama3: kanal 7: durum: Aşağıdaki bağlantılar açık: \ r \ n # 0 sunucu oturumu (t4 r0 i0 / 0 o0 / 0 fd 14/13 cfd -1) \ r \ n # 3 127.0.0.1 bağlantı noktası 57564'ten X11 bağlantısı (t4 r1 i0 / 0 o0 / 0 fd 16/16 cfd -1) \ r \ n # 4 127.0.0.1 bağlantı noktası 57565 (t4 r2 i0 / 0 o0 / 0 fd 17'den X11 bağlantısı / 17 cfd -1) \ r \ n # 5 127.0.0.1 bağlantı noktası 57566'dan X11 bağlantısı (t4 r3 i0 / 0 o0 / 0 fd 18/18 cfd -1) \ r \ n # 6 127.0.0.1 bağlantı noktasından X11 bağlantısı 57567 (t4 r4 i0 / 0 o0 / 0 fd 19/19 cfd -1) \ r \ n # 7 127.0.0.1 bağlantı noktası 59007'den X11 bağlantısı

Bu raporda, Linux istemcisi olduğuna inandığım # 7 numaralı bağlantı tarafından kullanılan bağlantı noktası numarası hariç, durum raporları arasındaki her şey aynı - hala bir ekran bağlantısını sürdüren tek. Geceleri bu raporların bir sırası ile değerlendirilerek zaman içinde artmaya devam ediyor.

Herhangi bir yardım için teşekkürler,

Mike


Aynı sorunu yaşıyorum.
churnd

Mac'in istemci tarafı ssh oturumundan hata ayıklama bilgisi almak için ssh komutunda -vvv'yi açtım. Bunu aldım: codeForwardX11Timeout süresi dolduktan sonra Reddedilen X11 bağlantısı ForwardX11Timeout, Mac'in ssh istemcisinde güvenilmeyen bir bağlantıdan iletmeyi sınırlayan bir seçenektir. Potansiyel olarak -X yerine -Y kullanılması işe yarar. ForwardX11Timeout, Lion'un ssh man sayfasında belgelenmemiştir. Varsayılan değeri 20 dakikadır. Ssh_config içinde daha yüksek bir değere ayarlamak mümkündür, ancak Lion'un X sunucusu> 596 saat olarak ayarlanırsa ... milisaniye olarak 31 bitin üzerine taşar. Arrgh. Umarım bunu düzeltir.
mklein9

Yanıtlar:


13

Mac istemcisinin / etc / ssh_config satırını içerecek şekilde değiştirdikten sonra ssh oturumları başladı:

ForvetX11Timeout 596 saat

hepsi iyi çalışıyor ve tüm gün olmuştur. Şimdiye kadar hepsi yeni xterms başlatmayı reddedecekti. Bu yüzden bunun cevap olduğuna ve neyse ki basit bir çözüm olduğuna inanıyorum, ancak zaman aşımı yine de 3-1 / 2 hafta sonra gerçekleşecek.


3

man ssh_config

ForwardX11Trusted

Bu seçenek "evet" olarak ayarlanırsa, uzak X11 istemcileri orijinal X11 ekranına tam erişime sahip olur. Bu seçenek "hayır" olarak ayarlanırsa, uzak X11 istemcilerinin güvenilir olmadığı düşünülür ve güvenilir X11 istemcilerine ait verilerle çalınması veya üzerinde oynanması önlenir. Ayrıca, oturum için kullanılan xauth (1) belirtecinin süresi 20 dakika sonra sona erecek şekilde ayarlanacaktır. Uzak istemciler bu süreden sonra erişimi reddedecektir. Varsayılan "hayır" dır. Güvenilmeyen istemcilere getirilen kısıtlamalarla ilgili tüm ayrıntılar için X11 GÜVENLİK uzantısı belirtimine bakın.


1
Bu yapılandırma seçeneğinin neden orijinal sorunu çözeceğini düşündüğünüzü genişletmeniz faydalı olabilir.
pjmorse

Bu , sorunun neden oluştuğunu açıklar , ancak bazı akıl yürütmeler yardımcı olacaktır.
Stefan Lasiewski

1

Eklemek için "Jan 7 '12 at 0:11 mklein9 28129" "Mac istemcisinin / etc / ssh_config satırını içerecek şekilde değiştirdikten sonra ssh oturumları başladı:

ForwardX11Timeout 596h

... ancak zaman aşımı bundan 3-1 / 2 hafta sonra devam edecek. "

Görünüşe göre 0 kullanabilirsiniz ve bu zaman aşımını sonsuza ayarlar (bağlantı açık olduğu sürece).

ForwardX11Timeout 0

...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.