xauth फ़ाइल नहीं बना रहा है


28

जब मैं हेडलेस लिनक्स मिंट 17 सिस्टम में ssh करता हूं, तो यह एक .Xauthority फाइल को अपडेट / क्रिएट नहीं करता है।

इसके अलावा, जब मैं दौड़ता xauthहूं तो मुझे उत्तर मिलता है:

marty@N40L ~ $ xauth
xauth:  file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>exit
marty@N40L ~ $ xauth
xauth:  file /home/marty/.Xauthority does not exist
Using authority file /home/marty/.Xauthority
xauth>

यह फ़ाइल नहीं बनाता है।

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

जब मैं मॉनिटर कनेक्ट करता हूं, तो स्थानीय रूप से लॉग इन करें, फ़ाइल बनाई जाती है, लेकिन जब मैं एक प्रविष्टि जोड़ने की कोशिश करता हूं (क्योंकि मेरा एसएसएच मेरे लिए ऐसा नहीं करता है):

marty@N40L ~ $ xauth list
N40L/unix:0  MIT-MAGIC-COOKIE-1  34eee3b15cdb281021502d40dfba1cf2
localhost.localdomain/unix:0  MIT-MAGIC-COOKIE-1  34eee3b15cdb281021502d40dfba1cf2
marty@N40L ~ $ ls -d .X*
-rw------- 1 marty marty 115 Sep  3 12:03 .Xauthority
marty@N40L ~ $ xauth generate $DISPLAY .
PuTTY X11 proxy: wrong authorisation protocol attemptedxauth: (argv):1:  unable to open display "localhost:10.0".

संयोग से, netstat --listenबंदरगाह को सुनकर एक शो कर रहा है:

tcp 0 0 localhost:6010 *:* LISTEN

AGH, अधिक जानकारी। मैंने सर्वर पर X सत्र से लॉग आउट किया, और अब .Xauthority फ़ाइल गायब हो गई है। ऐसा लगता है कि फ़ाइल स्थानीय रूप से लॉग इन होने पर ही होती है। क्या कोई मुझे बता सकता है कि, या मैं इसे कैसे ठीक कर सकता हूं?

नया विकास:

मैंने "परीक्षण" नामक प्रणाली पर एक कुंवारी उपयोगकर्ता बनाया। मैंने तब लॉग किया, और बिना किसी अन्य कमांड के, xeyes चलाया। जो काम किया! तो यह केवल उपयोगकर्ता "मार्टी" है जो xforward नहीं कर सकता है। मैं टेस्ट से लेकर शहीद तक ​​की सेटिंग कैसे कॉपी करूं?


क्या आपने इसे फ़ाइल बनाने के लिए कहा था? ssh -XX11 अग्रेषण सक्षम करता है।
user1686

हां, मैं विंडोज पर पुट्टी का उपयोग कर रहा हूं, फॉरवर्ड करने के लिए सेटअप (दूसरे मिंट सर्वर से जुड़ने पर काम करता है)। लेकिन फ़ाइल नहीं बनाई गई है, इसलिए मैंने सोचा कि मैं इसे मैन्युअल रूप से जोड़ दूंगा, xauth इसे मैन्युअल रूप से भी नहीं बनाता है।
wkdmarty

स्थानीय Xwindows .Xauthority फ़ाइल बनाता है, लेकिन पोटीन SSH सत्र नहीं करता है। हालांकि यह इसे कनेक्शन के लिए सुनने से पता चलता है।
wkdmarty

जवाबों:


34

बस रिपोर्ट करने के लिए, मुझे एक समान समस्या थी। लेकिन मेरे मामले में मैं सिर्फ उन चरणों का पालन करता हूं :

$HOME/.Xauthorityफ़ाइल बनाने के लिए इन चरणों का पालन करें ।

उपयोगकर्ता के रूप में लॉग इन करें और पुष्टि करें कि आप उपयोगकर्ता के होम डायरेक्टरी में हैं।

# Rename the existing .Xauthority file by running the following command
mv .Xauthority old.Xauthority 

# xauth with complain unless ~/.Xauthority exists
touch ~/.Xauthority

# only this one key is needed for X11 over SSH 
xauth generate :0 . trusted 

# generate our own key, xauth requires 128 bit hex encoding
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)

# To view a listing of the .Xauthority file, enter the following 
xauth list 

उसके बाद से .Xauthorityफ़ाइल के साथ कोई और समस्या नहीं है ।

धन्यवाद और श्रीनिवासन को श्रेय ।


1
मेरे मामले में, मेरे पास एक पर्यावरण चर XAUTHORITY थी जो कहीं और (एक लापरवाह गलती) की ओर इशारा करती है, इस का उपयोग करते हुए [ prefetch.net/blog/index.php/2011/11/01/… मैं इसे खोजने और हल करने में सक्षम था त्रुटि। का उपयोग करते हुए strace xauth, यह चर में निर्दिष्ट गलत पथ को इंगित करता है। मुझे यह भी जोड़ना चाहिए कि मुझे औरों के बीच भी लॉकिंग एरर मिल रही थी
Cybex

1
मेरे मामले में, मुझे केवल चरण 1 से 3 तक करना था। चरण 4 और 5 वास्तव में यह काम नहीं करता था।
रिचर्ड अयोतेते

मुझे xauth generate :0 . trustedप्रत्येक कमांड के बाद userएक प्रदर्शन खोलने के लिए करना होगा root। क्या मैं इसे ठीक कर सकता हूँ?
तिमो

xhost +के रूप में एक्स-ऐप खोलने में मदद की root
तिमो

7
चरण 3 मुझे त्रुटि देता है:xauth: (argv):1: unable to open display ":0".
सरल

4

बस उत्कृष्ट टन के जवाब के पूरक हैं ।

मुझे एक बार ठीक वैसी ही समस्या हुई है क्योंकि मेरे घर की निर्देशिका 100% पूर्ण हो गई थी। कनेक्शन होने पर, sshएक रिक्त बनाया ~/.Xauthorityगया और इसके लिए कोई एकल प्रविष्टि लिखने में असमर्थ था (इसलिए कि xauth listहमेशा एक खाली आउटपुट का उत्पादन किया था)।

इसलिए मेरा सुझाव है कि कोई भी हमेशा रिक्त स्थान की जांच करता है (उदाहरण df -h:) xauth generateऔर वह सत्यापित करता है और xauth addवास्तव में कोई प्रभाव पड़ा है ( xauth list)।


1

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

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

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


1

बढ़ते .sshरास्ते से बाहर निर्देशिका मेरे लिए बनाया एक्स अग्रेषण काम करते हैं।

उन्मूलन की प्रक्रिया के माध्यम से, मुझे ~ / .sh में एक फ़ाइल मिली जिसे "आरसी" कहा जाता था, और इसमें समाहित था:

echo "Wecome to $(hostname), $(whoami)"

मैंने इसे कभी नहीं बनाया, और यह पता नहीं है कि यह कहां से आया है। हटाने यह समस्या को ठीक किया और मेरी authorized_keys, known_hostsहै, और महत्वपूर्ण फाइलों को कर सकते हैं सभी ठहरने बरकरार।


1

रूट विशेषाधिकारों के तहत /etc/ssh/sshd_configयदि वे टिप्पणी करते हैं तो निम्नलिखित पंक्तियों को खोलना और उन पर अंकुश लगाना:

X11Forwarding हाँ

X11DisplayOffset 10

X11UseLocalhost हाँ

फिर लॉगआउट करें और फिर से -Xध्वज के साथ लॉगिन करें ssh। आपको DISPLAYपरिवेश चर सेट या अनसेट नहीं करना है।


0

मैं दो सर्वरों पर इसी मुद्दे पर आया था जो तकनीकी रूप से बहन नोड थे। मेरी पूंछ में दर्द, जैसा कि मैं समझ नहीं पाया कि क्या अलग था। / होम निर्देशिका पूर्ण हो गई थी, इसलिए .Xauthority फ़ाइलें ठीक से पॉप्युलेट नहीं हो सकीं। एक बार जब मैंने फ़ाइल (s) को बहुत अधिक जगह ले ली और उन्हें शुद्ध कर दिया, तो नई .Xauthority फाइलें ठीक से बनाई गईं।

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