कैसे ssh -Y और फिर su - <एक अन्य उपयोगकर्ता> और अभी भी अपने स्थानीय मशीन पर X अनुप्रयोगों को अग्रेषित करें


13

यह दूर से लाने के लिए पर्याप्त है (यानी स्थानीय रूप से आकर्षित) एक दूरस्थ रूप से चलने वाला लिनक्स एप्लिकेशन: यदि मैं ssh -Yरिमोट मशीन पर जाता हूं और एक एप्लिकेशन चलाता हूं , तो वह एप्लिकेशन निश्चित रूप से मेरे स्थानीय डेस्कटॉप में पर्याप्त पॉप अप करेगा।

यदि, हालांकि, जब मैं दूरस्थ मशीन में ssh'ed हूं, तो मैं suएक अलग उपयोगकर्ता के पास हूं, मैं अपने स्थानीय मशीन पर X एप्लिकेशन को अग्रेषित नहीं कर सकता। यह कहता है wrong authentication

मुझे यकीन नहीं है कि इस मामले से कैसे निपटा जाए। echo $DISPLAYअभी भी सही है (प्रारंभिक द्वारा निर्धारित ssh -Yलॉगऑन), लेकिन सत्र कुकी शायद केवल प्रारंभिक उपयोगकर्ता कि ssh लॉग ऑन के लिए निर्धारित है।

मैं इस कठिनाई को कैसे दूर कर सकता हूं और विभिन्न उपयोगकर्ताओं से चलाए जाने वाले अन्य एक्स अनुप्रयोगों को आगे बढ़ा सकता हूं?

इसका कारण यह है कि मैं सीधे ssh'ing नहीं कर रहा हूं, क्योंकि मैं नहीं चाहता कि उपयोगकर्ता ssh के माध्यम से पहुँचा जा सके (यह "वर्चुअलबॉक्स" उपयोगकर्ता है, जो स्पष्ट रूप से उस सर्वर पर ssh की कोशिश करने वाले बॉट्स के लिए एक आसान लक्ष्य है ...)

जवाबों:


12

जब आप X11 अग्रेषण सक्षम करने के साथ ssh के माध्यम से एक हटाने की मशीन से कनेक्ट करते हैं, तो सर्वर पर ssh .Xauthorityउपयोगकर्ता के होम डायरेक्टरी में एक फाइल बनाता है । क्योंकि ssh एक टीसीपी सॉकेट पर X11 के लिए सुनता है, कोई भी कनेक्ट कर सकता है। क्योंकि कोई भी कनेक्ट कर सकता है, हमें आपके प्रदर्शन का उपयोग करने से किसी को रोकने के किसी तरीके की आवश्यकता है। यह उस .Xauthorityफ़ाइल के साथ किया जाता है । फ़ाइल में एक "कुकी" है जो X11 सर्वर को प्रस्तुत की जाती है जो ग्राहक को सत्यापित करती है कि उसे कनेक्ट करने की अनुमति दी जानी चाहिए।

सभी विवरणों को छोड़ते हुए, यदि आप उस .Xauthorityफ़ाइल को अपने लक्षित उपयोगकर्ता के घर निर्देशिका में कॉपी करते हैं (और उन्हें स्वामित्व देते हैं), तो आपको कनेक्ट करने में सक्षम होना चाहिए।


यह ध्यान देने योग्य है कि ऐसा करने के बाद भी उपयोगकर्ताओं को स्विच करने के बाद DISPLAY चर को सही ढंग से सेट करने की आवश्यकता है। A सुडो ’का उपयोग करते समय यह एक समस्या हो सकती है जो पर्यावरण को छान सकती है।
क्रिस आर्गुइन

8
  1. ssh -Y रिमोट मशीन के रूप में अपने आप को।
  2. वहां पहुंचने पर टाइप करें xauth list। मैजिक-कूकी वस्तुओं की सूची दिखाई देती है। आपका लॉगिन सत्र सूची में सबसे नीचे की संभावना है। (होस्टनाम और यूनिक्स नंबर कोड को देखकर, और जिस होस्टनाम से आपने और आपके वर्तमान लोकलहोस्ट: ## DISPLAY env वैरिएबल की खोज की है, उसकी तुलना करके देखें।)
  3. उपयोगकर्ताओं को स्विच करें।
  4. xauth addऊपर से + मैजिक-कूकी लाइन + टाइप करें ।
  5. ग्राफिक्स अब दिखना चाहिए। जल्दी से इसका परीक्षण करो xlogo

2
नहीं "+" xauth में जोड़ें। उदाहरण के लिए, बस एक्सयूथ जोड़ो ubuntu / unix: 10 MIT-MAGIC-COOKIE-1 6b49de7c34409d5ac69beab31d12ec94
Tuntable

1
USER="otherusername" && MAGIC_COOKIE=`xauth list | tail -n1` && su -c "xauth add $MAGIC_COOKIE" $USER && su - $USER
7yl4r

3

मुझे रैंडी का जवाब पसंद है, लेकिन यह मेरे लिए बहुत काम नहीं आया।

यहाँ मुझे क्या काम करना है:

  1. ssh -Y as user1
  2. xauth list | grep `uname -n`
  3. उपयोगकर्ता 2 पर स्विच करें
  4. unset XAUTHORITY
  5. xauth generate :0 .
  6. xauth add :0 . <KEY-FROM-STEP-2>

चरण 5 और 6 में दो अवधियों पर ध्यान दें।

अगर मैं सिर्फ रैंडी के उत्तर का पालन करता हूं, तो उपयोगकर्ता का XAUTHORITYचर अभी भी उपयोगकर्ता 1 की .Xauthorityफ़ाइल की ओर इशारा करता है। और + कुंजी का उसका सिंटैक्स काम नहीं करता था।


2

यह एक उत्तर नहीं है, इसलिए यदि आप एक पाते हैं, तो जाहिर है कि यह बेहतर है।

यदि नहीं, और यह आपके कॉन्ड्रम का मूल कारण है:

इसका कारण यह है कि मैं सीधे ssh'ing नहीं कर रहा हूं, क्योंकि मैं नहीं चाहता कि उपयोगकर्ता ssh के माध्यम से पहुँचा जा सके (यह "वर्चुअलबॉक्स" उपयोगकर्ता है, जो स्पष्ट रूप से उस सर्वर पर ssh की कोशिश करने वाले बॉट्स के लिए एक आसान लक्ष्य है ...)

यह मेरे लिए तर्क का एक बड़ा टुकड़ा नहीं है। "क्या बॉट्स लक्ष्य" WRT एक अच्छी तरह से कॉन्फ़िगर sshd काफी हद तक अप्रासंगिक है। क्या वे पोर्ट 22 के आसपास कहीं भी गूंजेंगे? जाहिर तौर पर। इसका मतलब यह है कि वे वास्तव में सफलता का एक मौका है?

किसी ऐसे व्यक्ति के बारे में एक कहानी के लिए गुगली करने की कोशिश करें जिसके पास बेतरतीब गुमनाम बॉट था जो सफलतापूर्वक sshd में टूट गया। मुझे यकीन है कि यह किसी और के साथ हुआ होगा (और निश्चित रूप से, आप शायद कभी नहीं जान पाएंगे), लेकिन मुझे ऐसी कोई भी रिपोर्ट नहीं मिल सकती है। यह पढ़ना दिलचस्प होगा कि उपयोग किया गया कॉन्फ़िगरेशन क्या था।

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

मुझे लगता है कि सभी "ब्रेक-इन प्रयास" होने का कारण यह है कि उपयोगकर्ताओं का एक बड़ा निकाय है, जो यू एंड एल पर सवाल पूछना जैसे काम नहीं करते हैं;) और मैन्युअल पेज नहीं पढ़ते हैं और केवल पासवर्ड सुरक्षा का उपयोग करते हैं; जो एक संकेत के साथ एक मशीन में अपने एटीएम कार्ड को छोड़ने की तरह है, जिसमें कहा गया है, "दूर हटो!"।

हालांकि, अगर आप अपनी निजी कुंजी को अपने एटीएम कार्ड की तरह समझते हैं - जैसा कि कुछ ऐसा है जो शारीरिक रूप से आपके द्वारा सुरक्षित है (जो कि यह अनिवार्य रूप से है), तो लक्ष्य बहुत अधिक ईथर हो जाता है। जो सभी बॉट कर सकते हैं, वे साबित करते हैं कि हां, यह वास्तव में हजारों मशीनों को एक साथ काम करने के लिए 2048-बिट कुंजी को बल देने के लिए हजारों साल लगेंगे।

यदि आप ब्रेक-इन प्रयासों की रिपोर्ट पढ़ने से बीमार हैं, तो अपना पोर्ट बदलें। मैंने यहाँ लोगों को पू-पू को "अश्लीलता से सुरक्षा" के रूप में देखा है, हालाँकि, एक sshd जो पोर्ट 22 पर ठीक से सुरक्षित है, पोर्ट 57 पर कोई कम सुरक्षित नहीं होने वाला है, लेकिन यह बेतरतीब ढंग से परेशान नहीं होगा। बेशक, आपके सभी ड्रोन दुश्मन पूरे आईपी को स्कैन कर सकते हैं - लेकिन आप जानते हैं कि क्या? वे नहीं करते। मुझे लगता है कि यह है क्योंकि वे क्या देख रहे हैं किसी को एक प्रणाली है जो भी नहीं देखा है /etc/ssh/sshd_config, बहुत कम शिक्षित है और यह देखते हैं।


आप जो कहते हैं, मैं उससे सहमत हूं। लेकिन मैं हमेशा असुरक्षित हूं (यह नहीं है कि वे आपको जलने के बाद कई स्थितियों में क्या सिखाते हैं?)। मैं जिस पीसी पर लॉग इन करने की कोशिश कर रहा हूं, वह ईमानदार होने के लिए, एक फ़ायरवॉल (बाहर से कोई एक्सेस नहीं) है। यह ssh एक उच्च बंदरगाह पर है, एक मुश्किल पासवर्ड है, लेकिन मैं अभी भी मदद नहीं कर सकता, लेकिन महसूस करता हूं कि "वर्चुअलबॉक्स" एक सार्वजनिक नाम है। एक जिसे कोई कहीं बॉट कोड में शामिल करना चुन सकता है। SSH कुंजी एक अद्भुत समाधान है, खासकर यदि पासवर्ड सुरक्षा के साथ उपयोग किया जाता है। लेकिन अगर मुझे उनका इस्तेमाल करना हो तो मुझे USB पर एक हल्का linux distro रखना होगा।
nass
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.