मैं गलत प्रमाणीकरण के कारण "X11 कनेक्शन अस्वीकृत" कैसे करूं


10

मुझे एसएसएच के माध्यम से एक्स फॉरवर्ड करने में समस्या है। मैंने उम्र के लिए लड़ाई लड़ी है, लेकिन कोई भी मदद करने के लिए प्रतीत नहीं हो सकता है।

मैं अब एक अलग चाल ले रहा हूं। मैं जानना चाहूंगा कि मैं त्रुटियों को कैसे दूंगा?

मुझे कौन से लॉग देखना चाहिए, मुझे (-v आदि) कौन से अतिरिक्त झंडे लगाने चाहिए और मुझे क्या देखना चाहिए?

आगे संपादित करें:

अगर मैं सर्वर में पुट्टी में लॉग इन करता हूं और कोशिश करता xeyesहूं, तो मुझे यह मिलता है:

PuTTY X11 प्रॉक्सी: गलत प्राधिकरण प्रोटोकॉल का प्रयास किया गया है: प्रदर्शन नहीं कर सकते: स्थानीयहोस्ट: 10.0

अगर मुझे xauth generate $DISPLAYमिलता है:

PuTTY X11 प्रॉक्सी: गलत प्राधिकरण प्रोटोकॉल का प्रयास: (argv): 1: "लोकलहोस्ट: 10.0" डिस्प्ले खोलने में असमर्थ।


में दूसरे दिन से अपने प्रश्न आप विभिन्न लक्षणों का वर्णन। क्या आप अभी भी "खुले प्रदर्शन नहीं कर सकते" से पीड़ित हैं, या आपने इसका समाधान किया है? यदि आपने उसे हल कर दिया है, और उस प्रश्न के उत्तर में से एक मददगार था, तो आपको इसे उस व्यक्ति के पुरस्कार के उत्तर के रूप में चुनना चाहिए जिसने आपकी मदद की।
केंस्टर

सहमत, अब यह एक अलग त्रुटि है, मैंने उस प्रश्न को बंद कर दिया है।
wkdmarty 14

देखें कि क्या यह उत्तर आपके सर्वर पर लागू होता है।
केनस्टर

केनस्टर, मेरे पास सर्वर पर या तो आरसी फाइल नहीं थी, इसलिए मैंने एक बनाया और कोड पेस्ट किया। कोई फर्क नहीं।
wkdmarty

पुट्टी लॉग्स में, एक्स प्रोग्राम (एसएसएच लॉगिन के बाद) चलाने की कोशिश करने के बाद यह आता है। 2014-09-01 15:16:38 127.0.0.1.19566 से X11 कनेक्ट अनुरोध प्राप्त हुआ 2014-09-01 15:16:38 X11 आगे का कनेक्शन खोलने में सफल हुआ 2014-09-01 15:16:38 भेजने के लिए कुछ भी नहीं बचा है, समापन चैनल 2014-09-01 15:16:38 अग्रेषित X11 कनेक्शन समाप्त
wkdmarty

जवाबों:


13

मेरा समाधान कदम से कदम:

1) विकल्प -X रिमोट होस्ट लॉगिन रूट के साथ लॉगिन करें

$ ssh -X root@192.168.1.39

2) मौजूदा .Xauthority फ़ाइल की जाँच करें

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

3) कॉपी .Xauthority फाइल को दूसरे यूजर को डायरेक्ट करने के लिए

[रूट @ लोकलहोस्ट ~ ~ # cp। सौष्ठव / घर / दैवज्ञ /
cp: ओवरराइट करें y

4) इस फ़ाइल के लिए अनुमतियाँ सेट करें

[रूट @ लोकलहोस्ट ~ ~ # चांस ऑरेकल: oinstall .Xauthority
[रूट @ लोकलहोस्ट ~ ~ # चामोड ०६०० .Xauthority

5) लॉगिन oracle उपयोगकर्ता

[रूट @ लोकलहोस्ट ~] # सु - ओरेकल

6) लोकलहोस्ट में डिस्प्ले सेटिंग: 10.0

[oracle @ localhost ~] $ गूंज $ DISPLAY
स्थानीय होस्ट: 10.0
[oracle @ localhost ~] $ ls -al

7) मौजूदा xauth कुकीज़ को सूचीबद्ध करता है

[oracle @ localhost ~] $ xauth सूची
localhost.localdomain / यूनिक्स: 11 MIT-MAGIC-COOKIE-1 310f1b02c1080e73059391c193a1881b
localhost.localdomain / यूनिक्स: 10 MIT-MAGIC-COOKIE-1 41843db100830a2aa352641ac47bb759

8) जोड़ना

[oracle @ localhost ~] $ xauth में लोकलहोस्टल जोड़ें। लिंकडोमेन / यूनिक्स: 10 MIT-MAGIC-COOKIE-1 41843db100830a2aa352641ac47bb75

9) परीक्षण

[oracle @ localhost ~] $ xclock

आशा है कि वे सेवा करेंगे! @wcaraza


2
भाग xauth जोड़ .... चाल है
वी

कदम 3. और 4. मेरे लिए चाल
चली

6

सुनिश्चित करें कि SSH सर्वर में xauthटूल इंस्टाल है, और आपकी ~/.Xauthorityफ़ाइल राइट है। (गैर-मौजूद भी ठीक है, जब तक xauthवह इसे बना सकता है।)

जांचें कि क्या xauth डेटा अपडेट किया जा रहा है:

server$ xauth list

मैन्युअल रूप से डमी xauth डेटा (फिर से, SSH सर्वर पर) जोड़ने का प्रयास करें, और देखें कि xauthक्या कोई समस्या है (उदाहरण के लिए लॉकफ़ाइल बनाने में असमर्थ है या Xauthority फ़ाइल को संशोधित करने के लिए):

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

यदि आवश्यक हो, के तहत फिर से चलाएं strace

LogLevel DEBUG2सर्वर कॉन्फ़िगरेशन ( /etc/ssh/sshd_config) में सेटिंग द्वारा , या डिबग मोड में सीधे sshd शुरू करके SSH सेवा को डिबग मोड में चलाएँ :

server$ sshd -rddp 12234

(इस उदाहरण में, 12234अस्थायी एसएसएच पोर्ट है जिसे आपको कनेक्ट करने की आवश्यकता है। कोई भी मुफ्त पोर्ट करेगा।)


धन्यवाद। सर्वर पर Xauth .Xauthority फ़ाइल लिख सकता है। लेकिन इसकी सेटिंग क्या होनी चाहिए? सर्वर = N40L, क्लाइंट = Lin001। N40L पर xauth सूची को स्थानीयहोस्ट के लिए एक प्रविष्टि दिखानी चाहिए: 10 MIT-MAGIC-COOKIE-1 {Lin001'sHexKey}?
wkdmarty

@wkdmarty: हाँ, आपका sshd एक टीसीपी पोर्ट पर डिस्प्ले के लिए सुनेगा: 10 (या: 11,: 12 ...), और यह "लोकलहोस्ट: 10" के रूप में दिखाई देगा। हेक्स कुंजी के रूप में, हालांकि, मैं वास्तव में नहीं जानता कि क्या यह एक ही कुंजी का उपयोग करने के लिए है - मुझे लगता है कि ssh वास्तव में एक नया उत्पन्न करता है, और एक प्रॉक्सी के रूप में कार्य करता है ...
user1686

ठीक है, मैं देख सकता हूँ कि 0.0.0.0:6011 सुन रहा है। मेरा DISPLAY वैरिएबल N40L: 11.0 बताता है, जो मैं सोच रहा हूं वह गलत है, इसलिए मैं इसे बदलकर DISPLAY = लोकलहोस्ट: 10.0 करूंगा। नहीं, अभी भी गलत। मैंने SSH कनेक्शन पर इस लाइन को नोटिस किया: debug2: x11_get_proto / usr / bin / xauth सूची: 0.0 2> / dev / null जहाँ भी मैंने SSH कनेक्शन लॉगिंग देखा है, यह लाइन अलग है ... एक मुख्य पीढ़ी दिखा रही है, कभी नहीं : 0.0।?
wkdmarty

@wkdmarty: आम तौर पर sshd को $ DISPLAY को सही मान पर सेट करना चाहिए ... और बंदरगाह 6011 वैसे भी 11 प्रदर्शित करने के लिए अनुरूप है, 10 नहीं।
user1686

1
"मेरा प्रदर्शन चर N40L: 11.0 बताता है ... इसलिए मैं इसे बदल दूंगा"। कुंद होने के लिए, प्रदर्शन को अकेला छोड़ दें। यदि ssh X11 अग्रेषण सेट करता है, तो यह DISPLAY को उस मान पर सेट करेगा जो काम करेगा। Ssh सेट मान को ओवरराइड करने से समस्या निवारण प्रक्रिया और अधिक कठिन हो जाएगी।
केनस्टर

3

यह काम कर रहा है, यह काम कर रहा है। haha।

आखिरकार।

यह पता लगाने के बाद कि यह सिस्टम नहीं था, एक परीक्षण उपयोगकर्ता (जो x अग्रेषण ने "बॉक्स से बाहर काम किया") जोड़कर, मैंने सोचा कि मैं "टूटी हुई" उपयोगकर्ता को वर्जिन करने के लिए .bash * स्टार्टअप फ़ाइलों की प्रतिलिपि बनाना शुरू कर दूंगा।

कोई भी फाइल अलग नहीं थी, इसलिए अगली बार मैंने उपयोगकर्ताओं की .ssh निर्देशिका को हटा दिया। जब मैं इसमें ssh'd, यह "सर्वर ने हमारी कुंजी से इनकार कर दिया" के बारे में विलाप किया, लेकिन मैं पासवर्ड का उपयोग कर लॉग इन कर सकता था। एक बार लॉग इन करने के बाद, मैं पूरी तरह से आगे x कर सकता हूं।

अब मैं फिर से कुंजी सेटअप करने का प्रयास करूंगा और देखूंगा कि क्या मुझे वह काम मिल सकता है। तो यह वापस सामान्य हो जाएगा।


इसने मेरे लिए भी काम किया। मैं अन्य सभी तरीकों की कोशिश की, लेकिन हाँ जाहिर है समस्या चाबियाँ में झूठ बोला था।
सहायक

1

एक और चीज़ जो इस समस्या का कारण बन सकती है वह है ~/.ssh/rcसर्वर पर एक फ़ाइल का अस्तित्व - जिस मशीन से आप जुड़ रहे हैं। समस्या को हल करने के लिए इसे हटाएं (या इसका नाम बदलें)।


1
प्रति के बजाय man sshdsshd चलता ~/.ssh/rcहै xauth, @PimpJuiceIT।
केन जैक्सन

धन्यवाद! अधिक जानकारी के लिए, देखें: docstore.mik.ua/orelly/networking_2ndEd/ssh/… । आरसी फ़ाइल के भीतर xauth शुरू करने के लिए उपयुक्त कमांड जोड़ना संभव होना चाहिए, लेकिन मैंने इसे नहीं पाया है।
मैट बी

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.