“X11 bağlantısı yanlış kimlik doğrulaması nedeniyle reddedildi” hata ayıklamasını nasıl yaparım


10

SSH üzerinden X yönlendirme ile ilgili bir sorunum var. Yaşları boyunca savaştım, ama hiç kimse yardım edemez gibi görünüyor.

Şimdi farklı bir taktik alıyorum. Hataları nasıl ayıklayacağımı bilmek ister misiniz?

Hangi günlüklere bakmalıyım, hangi ekstra bayrakları ayarlamalıyım (-v vb.) Ve ne aramalıyım?

Diğer Düzenlemeler:

Eğer Putty sunucuya giriş ve denemek xeyes, alırım:

PuTTY X11 proxy: yanlış yetkilendirme protokolü denendi Hata: Ekran açılamıyor: localhost: 10.0

Ben ise xauth generate $DISPLAYalıyorum:

PuTTY X11 proxy: yanlış yetkilendirme protokolü denendixauth: (argv): 1: "localhost: 10.0" ekranı açılamıyor.


Gelen geçen günkü sorunuza farklı belirtiler tarif eder. Hala "Görüntüyü açamıyorum" sorunu yaşıyor musunuz yoksa çözdünüz mü? Bunu çözdüyseniz ve bu sorunun yanıtlarından biri yardımcı olduysa, size yardımcı olan kişiyi ödüllendirmek için bir cevap olarak seçmelisiniz.
Kenster

Anlaşıldı, şimdi farklı bir hata, bu soruyu kapattım.
wkdmarty

Bu yanıtın sunucunuz için geçerli olup olmadığına bakın .
Kenster

Kenster, sunucuda rc dosyası yoktu, bu yüzden bir tane oluşturdum ve kodu yapıştırdım. Fark yok.
wkdmarty

PuTTY günlüklerinde, bu bir x programı çalıştırmayı denedikten sonra (SSH girişinden sonra) ortaya çıkar. 2014-09-01 15:16:38 127.0.0.1.1595966'dan X11 bağlantı isteği alındı ​​2014-09-01 15:16:38 X11 ileri bağlantısının açılması başarılı değil 2014-09-01 15:16:38 Gönderilecek hiçbir şey kalmadı, kapanış kanalı 2014-09-01 15:16:38 Yönlendirilen X11 bağlantısı sona erdi
wkdmarty

Yanıtlar:


13

Adım adım çözümüm:

1) seçeneği ile giriş -X uzak ana giriş kök

$ ssh -X root@192.168.1.39

2) mevcut .Xauthority dosyasının olup olmadığını kontrol edin

[root @ localhost ~] # ls -al
[root @ localhost ~] # vim.

3) .Xauthority dosyasını diğer kullanıcıyı dizine kopyalayın

[root @ localhost ~] # cp .Xauthority / home / oracle /
cp: `/home/oracle/.Xauthority 'üzerine yazılsın mı? y

4) bu dosya için izinleri ayarlayın

[root @ localhost ~] # chown oracle: oinstall .Xauthority
[root @ localhost ~] # chmod 0600.

5) Giriş Oracle Kullanıcısı

[root @ localhost ~] # su - oracle

6) localhost'ta ekran ayarı: 10.0

[oracle @ localhost ~] $ echo $ DISPLAY
localhost: 10.0
[oracle @ localhost ~] $ ls -al

7) Mevcut xauth çerezlerini listeler

[oracle @ localhost ~] $ xauth listesi
localhost.localdomain / unix: 11 MIT-MAGIC-COOKIE-1 310f1b02c1080e73059391c193a1881b
localhost.localdomain / unix: 10 MIT-SİHİRLİ-COOKIE-1 41843db100830a2aa352641ac47bb759

8) ekleme

[oracle @ localhost ~] $ xauth localhost.localdomain / unix ekle: 10 MIT-MAGIC-COOKIE-1 41843db100830a2aa352641ac47bb75

9) Test

[oracle @ localhost ~] $ xclock

Umarım hizmet ederler! @wcaraza


2
Bölüm xauth eklemek .... hile
Wei

3. ve 4. adımları benim için hile yaptı
kiltek

6

SSH sunucusunda xautharaç yüklü olduğundan ve ~/.Xauthoritydosyanızın yazılabilir olduğundan emin olun . (Varolmayan da xauthyaratabildiği sürece iyidir .)

Xauth verilerinin güncellenip güncellenmediğini kontrol edin:

server$ xauth list

Kukla xauth verilerini manuel olarak eklemeyi deneyin (yine SSH sunucusunda) ve xauthherhangi bir sorun olup olmadığını kontrol edin (örn. Kilit dosyasını oluşturamıyor veya Xauthority dosyasını değiştiremiyor):

server$ xauth add localhost:123 MIT-MAGIC-COOKIE-1 d7e2e4a8c5aa4430bfcc2abb436940d2

Gerekirse, altında yeniden çalıştırın strace.

SSH hizmetini hata ayıklama modunda, LogLevel DEBUG2sunucu yapılandırmasını ( /etc/ssh/sshd_config) ayarlayarak veya sshd'yi doğrudan hata ayıklama modunda başlatarak çalıştırın:

server$ sshd -rddp 12234

(Bu örnekte, 12234bağlanmanız gereken geçici SSH bağlantı noktasıdır. Herhangi bir boş bağlantı noktası olacaktır.)


Teşekkür ederim. Sunucudaki Xauth .Xauthority dosyasına yazabilir. Ama neyi ayarlamalıydı? sunucu = N40L, istemci = Lin001. N40L'deki xauth listesi localhost için bir giriş göstermeli mi: 10 MIT-MAGIC-COOKIE-1 {Lin001'sHexKey}?
wkdmarty

@wkdmarty: Evet, sshd'niz şu ekrana karşılık gelen bir TCP bağlantı noktasını dinleyecektir: 10 (veya: 11,: 12 ...) ve bu "localhost: 10" olarak görünecektir. Onaltılı anahtar gelince, ancak, gerçekten aynı anahtarı kullanmak için olup olmadığını bilmiyorum - Bence ssh aslında yeni bir tane üretir ve bir proxy gibi davranır ...
user1686

tamam mükemmel, 0.0.0.0:6011'in dinlediğini görebiliyorum. Benim DISPLAY değişken N40L: 11.0 yanlış olduğunu düşünüyorum, bu yüzden bunu DISPLAY = localhost: 10.0 olarak değiştireceğim. Hayır, hala hata yapıyorum. SSH bağlantısında şu satırı fark ettim: debug2: x11_get_proto / usr / bin / xauth list: 0.0 2> / dev / null SSH bağlantı günlüğünü gördüğüm her yerde, bu satır farklı ... bir anahtar üretimi gösteriyor, asla : 0.0.?
wkdmarty

@wkdmarty: Normalde sshd $ DISPLAY değerini doğru değere ayarlamalıdır ... ve 6011 bağlantı noktası yine de 10 yerine 11 ekranına karşılık gelir.
user1686

1
"EKRAN değişkenim N40L: 11.0 ... yani bunu değiştireceğim" yazıyor. Künt olmak için, DISPLAY'i yalnız bırakın. Ssh X11 iletmeyi ayarlarsa DISPLAY işlevini çalışacak bir değere ayarlar. Ssh tarafından ayarlanan değerin geçersiz kılınması, sorun giderme işlemini daha da zorlaştıracaktır.
Kenster

3

Çalışıyor, çalışıyor. haha.

EN SONUNDA.

Sistem olmadığını öğrendikten sonra, bir test kullanıcısı ekleyerek (ki x yönlendirme "kutuyu çalıştırdı"), "kırık" kullanıcıyı beklemek için .bash * başlangıç ​​dosyalarını kopyalamaya başlayacağımı düşündüm.

Dosyaların hiçbiri farklı değildi, bu yüzden daha sonra kullanıcıların .ssh dizinini sildim. Ne zaman ssh'd, "Sunucu anahtarımızı reddetti" hakkında inledi, ama şifre kullanarak giriş yapabilirim. Giriş yaptıktan sonra mükemmel bir şekilde x yönlendirebilirim.

Şimdi anahtarı tekrar kurmaya çalışacağım ve bunu da işe yarayıp yaramayacağımı göreceğim. Sonra normale dönecek.


Bu benim için de işe yaradı. Diğer tüm yöntemleri denedim, ama görünüşe göre sorun anahtarlarda yatıyordu.
Yardımcı

1

Bu soruna neden olabilecek başka bir şey de ~/.ssh/rc, sunucuda (bağlandığınız makine) bir dosyanın varlığıdır . Sorunu çözmek için silin (veya yeniden adlandırın).


1
Per man sshd, sshd , @PimpJuiceIT ~/.ssh/rcyerine çalışır xauth.
Ken Jackson

Teşekkür ederim! Daha fazla ayrıntı için bkz . Docstore.mik.ua/orelly/networking_2ndEd/ssh/… . Rc dosyasında xauth'u başlatmak için uygun komutları eklemek mümkün olmalı, ancak bulamadım.
Matt B.

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.