“Uyarı: güvenilir olmayan X11 iletme kurulumu başarısız oldu: xauth anahtar verileri üretilmedi” -X ile ssh' yaparken ne anlama geliyor?


134

Ben kullandığınızda ssh -Xbenim Mac benim Ubuntu (11.04) kutusuna bağlanmak için (OS X 10.6.7 çalışan), ben aşağıdaki uyarıyı alıyorum:

Uyarı: güvenilmeyen X11 iletme ayarları başarısız oldu: xauth anahtar verisi üretilmedi Uyarı: xauth verisi yok; X11 iletimi için sahte kimlik doğrulama verileri kullanarak.

Bu uyarının kaybolması için yapabileceğim bir şey var mı? Değilse, güvenle yok sayabilir miyim?

X11 yönlendirme iyi çalışıyor gibi görünüyor, ancak şu mesajı görüyorum:

Xlib: "localhost: 10.0" göstergesinde "RANDR" uzantısı eksik.

Bu uyarıyla mı ilgili? (Tahmin etmiyorum. Olmazsa, bunun hakkında yeni bir soru vereceğim.)


1
Ubuntu sunucusunda xauth programı yüklü mü?
slubman

sudo apt-get install xauth"xauth zaten en yeni sürüm" dedi
Daryl Spitzer

Ubuntu sunucusunda oturum açıldığında, 'hangi xauth'un çıktısı nedir?
slubman

Gerçekten de bu açıklamayı okuman gerektiğini düşünüyorum: mail-archive.com/cygwin-xfree@cygwin.com/msg17927.html… bu uyarıyı görmezden gelebilirsiniz
slubman

2
bazen buna ~ / .Xauthority dosyanızdaki sorunlar neden olabilir. Silerseniz, tekrar giriş yapmaya çalıştığınızda yeniden oluşturulur.
michael,

Yanıtlar:


145

-X bayrağı yerine -Y bayrağını kullanmak istememesinin bir nedeni var mı?

Oldukça basit, -X ve -Y arasındaki fark, -Y'nin güvenilir X11 yönlendirmesini sağlamasıdır.


4
Hayır, soruyu yazarken -Y bayrağının farkında değildim. Bunun bir çözüm olduğu ortaya çıktı. Cevabınızı değiştirin, böylece bir soru olmaz (ve -Y ile -C arasındaki farkı kısaca açıklarsanız iyi olur) ve kabul edeceğim.
Daryl Spitzer

-X yerine -Y kullanmak istemeyeceğiniz bir durum var mı?
Horoz

@ -Y'nin desteklenmediği çok eski sistemler için @Rooster diyebilirim
Petr

Sorun giderme ipucu: "ssh -vv ..." komutunu çalıştırın ve xauth hattını ve hata mesajlarını arayın. Doğrudan gösterdiği xauth hattını çalıştırmayı deneyebilirsiniz. Benim için "xauth list: 0" (güvenilir) "xauth -f / tmp / ssh ... list: 0" (güvenilmeyen) gibi bir şeye ihtiyacım vardı. Uzak-host / etc / ssh / ssh_config (veya ~ / .ssh / config) 'da -Y sabit ve "ForwardX11Trusted yes" da düzeltildi.
Curtis Yallop

Bu çözüm Cygwin / X ile de çalıştı.
linux64kb

25

Buraya 2015 yılında geliyorsanız: her şey düzgün şekilde ayarlanmış olsa bile, bu ssh -Xbir XQuartz sürümü <= 2.7.7 kullanırken ve çalıştırırken Mac OS X 10.10 Yosemite'de de olabilir . Temel neden, X11 ekran soketlerinin xauth arama yolunun dışına yazılmasıdır: XQuartz izleyicide sorun # 2068 .

Düzenleme: Sabit bir XQuartz o zamandan beri yeni ana sayfasında, xquartz.org'da yayınlandı ve en son sürümü oradan yüklemek (şu anda 2.7.9) bu sorunu çözecek .


1
Teşekkür ederim! Ben hiçbir fikri XQuartz Bunu sadece XQuartz sayfanın üstünden indirilen aslında son sürümü değil.
craigds

brew install xquartzŞu anda 2.7.7 sürümü eski yüklemektedir dikkat çekici .
Martin Cleaver

brew install Caskroom/cask/xquartzHomeBrew ile en son XQuartz'ı almalıyım
Nick

Veya daha kısa brew cask install xquartz.
Franklin Yu

17

Kullanırken bile aynı mesajı alırsanız -Y, xauthprogram sunucuda eksik olabilir. Debian benzeri sistemlerde xauthpakete ihtiyacınız var . RedHat benzeri sistemlerde xorg-x11-xauthpakete ihtiyacınız vardır .


15

Bu bağlamda "Güvenilmeyen", bağlantıya güvenmediğiniz anlamına gelir. SSH, X11'i iletmeyi daha güvenli hale getirmek için ek güvenlik önlemleri kullanacaktır. "Güvenilir", uzak ana bilgisayardaki hiçbirinin Xauth verilerinize erişemeyeceği ve örneğin tuş vuruşlarınızı izlemek için kullanmayacağından tamamen emin olduğunuz anlamına gelir.

Bu terminoloji aslında beni yıllarca şaşırttı. "Güvenilir" bağlantıların daha güvenli olduğunu düşündüm. Fakat aslında, bağlantının güvenilir olduğu durumlarda kullanmanız gereken ve ekstra güvenlik önlemleri almaksızın işleri yürütmek istediğiniz bir seçenek. "Güvenilmeyen", güvenilmeyen bir uzak ana bilgisayarla uğraşmayı (biraz) daha güvenli hale getirendir.

"Güvenilmeyen" bir bağlantı, X11 güvenlik uzantısını devreye sokarak ve (umarız) ihtiyacınız olmayan diğer uzantıları devre dışı bırakarak siyah şapkanın size neler yapabileceğini sınırlamaya çalışır. Bu muhtemelen RandR'ın -X ile devre dışı bırakılmasının nedeni budur. X ekranınızı uzaktaki ana bilgisayardan döndürebilmeniz mi gerekiyor?

Ayrıca, "güvenilmeyen" X11 iletiminin, sizi yanlışlıkla açık bırakmamak için belirli bir süre sonra kapandığını not etmek de önemlidir. Pencereleri açmak için yeni girişimler bundan hemen sonra başarısız olacaktır. Neler olduğunu anlamak için yeterince doktor okumamdan önce bu beni birkaç kez ısırdı.


9

Bu davranışı sergileyebilecek bir düzeneğim yok, bu yüzden karanlıkta bir şans:

Bu uyarıyı ForwardX11Trustedveren "no"ana bilgisayarlara ayarlarsanız , uyarı bastırılabilir . Ya bu yerleştirebilir ~/.ssh/configya /etc/ssh/ssh_configve dahil ederek belirli bir ana bilgisayara seçenek spesifik hale getirebilir Host <hostname>yukarıdaki satırda. <hostname>bileşeni komut satırından (değil çözümlenmiş ana makine adı) yazın ne eşleşir ve joker karakterler içerebilir.


Bir kişi ssh -Ygüvenilir X11 iletme işlemini kullanabilir , ancak güvenilmeyen birini nasıl düzeltebilirim?
Pavel Šimerda

Redhat'ta da aynı hatayı aldım ve şimdi /etc/ssh/ssh_configistemci tarafında config dosyasını düzenleyerek çözebiliyorum . Teşekkür ederim
Gangadhar Jannu

7

DİKKAT (güvenlik açığına yol açan eksik cevapları okumaktan yoruldum)

1 / ssh kullanarak -Y burada sahte xauth bilgisinin kötü olduğu anlamına gelir!

2 / ssh -X, XQuartz etkinleştirildikten sonra xauth kullandığından beri çalışmalıdır. Tek sorun, ssh'ın / usr / X11R6 / bin içindeki xauth ve XQuartz bulunan macos'ta / opt / X11 / bin içindeki macos'da bulunmasıdır.

Güvenli çözme:

1 / Kimliği doğrulanmış bağlantıları etkinleştiren Güvenlik tercihler sekmesinde (Cmd-,) ilk seçeneği etkinleştirin

2 / ekle

XAuthLocation /opt/X11/bin/xauth

$ HOME / .ssh / config içinde

3 / ssh -X you_servergüvenli bir şekilde çalışıyor


6

Yükleme xauthdoğru çalışmazsa, özellikle can sıkıcı bir durum bozuk bir .Xauthoritydosya olabilir. Bu özel durum bazı X istemcilerinin çalışmasına izin verdi, ancak daha yeni ekranlarda başarısız olma eğilimi olan diğerlerinde çalışmadı. .XauthorityDosyayı kaldırmak ve yeniden oluşturmak bu sorunu çözebilir.


6

Sunucu tarafı sorunlarını çözme

Öncelikle, sunucu tarafındaki herhangi bir problemi hariç tutmalısınız. ssh -XBaşarıyla herhangi bir ana bilgisayardan yapabiliyor musunuz ? Does ssh -Yederken çalışmaya ssh -Xdeğil mi? Her iki durumda da, ssh + X11'in sunucunuzda doğru şekilde ayarlandığını ve bir sonraki bölüme geçtiğini varsayalım.

Bunu kontrol edebilecek durumda değilseniz (bir diz üstü dizüstü bilgisayarınız varsa, X11 kullanıyorsanız, diyelim), sshsahte bir oturum kullanarak sunucudan kendisine

  1. export DISPLAY=:44# (Bourne kabuğu) veya
    setenv DISPLAY :44# (csh / tcsh)
  2. xauth add $DISPLAY MIT-MAGIC-COOKIE-1 1234 # Sadece bu test için Bogus çerezi
  3. ssh -X localhost env |grep DISPLAY

Beklenen sonuç: ssh-to self oturumunun uzak ucunda ayarlanmış bir EKRAN değişkeni olmalıdır. Sonuç alamazsanız, sunucunuz yanlış yapılandırılmış olabilir (örneğin, X11 kitaplıkları ve / veya xauthkomut eksik olabilir; ya da sshd yapılandırması X11 erişimini reddedecek şekilde ayarlanmış olabilir)

Mac'te: Xquartz'ın güncel olup olmadığını kontrol edin

Gereğince Will Angley cevabı

İncelemek ssh -vv -Xçıktı

Aldığın hata mesajı, birçok nedeni olabilecek bir belirtidir. X11 tüneli kurulumunun neden başarısız olduğu konusunda size ilave ipuçları verecek olanla tekrar deneyin .ssh -X -vv remotehost

Aşağıdaki mesajı görüyor musunuz?

debug1: Xauth programı yok.
Öyleyse,

  1. İstemci sisteminizde, xauthkomutun nerede bulunduğunu not alın :
    hangi xauth
  2. Aşağıdakileri ~ / .ssh / config'inizin sonuna ekleyin (ve gelecekte orada tutmanız için kendinize hatırlatmak için bir yorum ekleyin):
    Ana Bilgisayar *
        XAuthLocation / opt / X11 / bin / xauth
    
    Bu yolu 1. adımdaki bulgulara göre ayarlayın - Jan-Willem Arnold Kredileri

3

Yukarıda açıklandığı gibi, aşağıdakiler benim için çalıştı:

Düzen ~ / .ssh / config hatlarını eklemek için

Host *
    XAuthLocation /opt/X11/bin/xauth

ve şimdi ssh -X hostname çalışıyor (XQuartz 2.7.11, macOS 10.4 Mojave)


0

Zaten en son XQuartz 2.7.11'i yükledim, ancak işletim sistemini o zamandan beri birkaç kez güncellediğimi düşünüyorum. XQuartz 2.7.11'i yeniden yükledim ve şimdi iyi çalışıyor.


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.