2013-11-20 5 views
8

मैं योनि वीएम पर एक्स 11 फॉरवर्डिंग स्थापित करने में समस्याएं चला रहा हूं।एक्स सर्वर के साथ वानर में एसएसएच

मैं अपने एसएसएच क्लाइंट के रूप में एक्स सर्वर और पुटी के लिए Xming चला रहा हूं।

यह जब मैं vagrant ssh-config चलाने मैं क्या मिलता है:

Host default 
    HostName 127.0.0.1 
    User vagrant 
    Port 2200 
    UserKnownHostsFile /dev/null 
    StrictHostKeyChecking no 
    PasswordAuthentication no 
    IdentityFile C:/Users/MyName/.vagrant.d/insecure_private_key 
    IdentitiesOnly yes 
    LogLevel FATAL 
    ForwardAgent yes 
    ForwardX11 yes 

मेरे पुट्टी है X11 अग्रेषण सक्षम और एक्स प्रदर्शन स्थान 0.0 करने के लिए सेट।

जब मैं echo $DISPLAY करता हूं तो मुझे कोई प्रतिक्रिया नहीं मिलती है।

मुझे यकीन है कि मैंने गलत तरीके से कॉन्फ़िगर किया है। मैंने अपने पुटी क्लाइंट को स्थापित करने में following advice का पालन किया। यदि एक्स 11 फॉरवर्डिंग के साथ वीएम सेट अप करने का कोई आसान तरीका है, तो कृपया मुझे बताएं।

संदर्भ के लिए ये मेरे Vagrantfile की सामग्री हैं।

VAGRANTFILE_API_VERSION = "2" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 

    config.ssh.forward_agent = true 
    config.ssh.forward_x11 = true 

end 
+0

यह निम्नलिखित इस [सलाह] द्वारा एक्स सर्वर के रूप में Cygwin का उपयोग करके हल किया गया है (http://x.cygwin.com/docs/ug/setup.html)। – Matt

+0

क्या आप इसे नीचे दिए गए उत्तर के रूप में जोड़ सकते हैं और इसे स्वीकार कर सकते हैं? टिप्पणियां सही उत्तरों के लिए सबसे अच्छी जगह नहीं हैं। –

+0

@RadekSimko हो गया। इस पर ध्यान दिलाने के लिए धन्यवाद! – Matt

उत्तर

3

समस्या को हल करने के लिए निम्न संकुल के साथ स्थापित Cygwin इस website में निर्दिष्ट है:

  • xorg-सर्वर
  • xinit
  • xorg-डॉक्स (प्रलेखन के लिए)
  • अधिभारित (यदि यह पहले स्थापित नहीं किया गया था)

फिर सिग्विन टर्मिनल से startxwin का उपयोग करके विंडो को लोड करें।

एक नोट है कि मैं बाद में पता चला कि यह बेहतर है के लिए निम्न आदेश का उपयोग कर आवारा में ssh के लिए है:

vagrant -Y ssh

से:

vagrant -X ssh

बाद अविश्वस्त में किया जाता है इस answer के रूप में मोड और कुछ समय बाद बाहर निकलें।

6

मेरे पास एक बहुत ही समान समस्या थी, लेकिन मेरे मामले में यह वाग्रेंट वीएम के साथ एक मुद्दा था। ये कुछ चीजें हैं जाँच करने के लिए कर रहे हैं:

  • X11Forwarding जरूरतों /etc/ssh/sshd_config
  • में yes लिए सेट किया जा करने के लिए ssh के लिए वर्बोज़ लॉगिंग को सक्षम और दिलचस्प के लिए देखो (vagrant ssh -- -vvv -X लिनक्स में, पोटीन भी एक -v आदेश पंक्ति फ्लैग है लगता है) संदेश।
मेरी Vagrant वी एम के साथ

बाद निम्न संदेश का पता चला:

debug1: Remote: No xauth program; cannot forward with spoofing 

एक पैकेज है कि xauth (xorg-xauth, xorg-x11-xauth या समान) प्रदान करता है स्थापित करने के बाद, vagrant ssh -- -X ठीक काम किया।

1

साइगविन एक्स सर्वर चलाने के लिए "स्टार्टक्सविन" का उपयोग करें। पट्टी या सिग्विन एसएसएच क्लाइंट का उपयोग अपने अतिथि वर्चुअल मशीन पर एसएसएच के लिए करें।

यदि साइगविन एसएसएच का उपयोग करते हैं, तो एसएसएच चलाने से पहले "DISPLAY =: 0" निर्यात करें (यानी "वानर एसएस - -vvv -X")।

पुट्टी के लिए: "स्टार्टक्सविन - -लिस्टन टीसीपी" चलाएं, पुटी कनेक्शन कॉन्फ़िगरेशन में एसएसएच-एक्स 11 अग्रेषण सक्षम करें, "एक्सएच डिस्प्ले लोकेशन" को "लोकलहोस्ट: 0" पर सेट करें और .X प्राधिकरण फ़ाइल का सही पथ सेट करें (ब्राउज़ करें, यह शायद आपकी होम निर्देशिका में है; स्टार्टक्सविन आउटपुट आपको बताएगा)।

शायद msys2 ssh का उपयोग न करें (योनि डिफ़ॉल्ट डिफ़ॉल्ट वातावरण msys2 है लेकिन योनि भी सिग्विन के तहत ठीक काम करता है) सिगविन एक्स सर्वर के साथ।

विवरण (क्यों के बारे में अधिक जानकारी के लिए विवरण देखें):

आप मिलता है "/tmp/.X11-unix/X0 कनेक्ट: ऐसी कोई फ़ाइल या निर्देशिका" या पोटीन त्रुटि (ssh वर्बोज़ मोड के तहत) " पुटी एक्स 11 प्रॉक्सी: अग्रेषित एक्स सर्वर से कनेक्ट करने में असमर्थ: नेटवर्क त्रुटि: कनेक्शन से इनकार कर दिया गया ", डिफ़ॉल्ट यूनिक्स डोमेन सॉकेट की बजाय टीसीपी सॉकेट का उपयोग करने का प्रयास करें।

जब आप अपना सिग्विन एक्स सर्वर चलाते हैं, तो "एक्स -लिस्टन टीसीपी-मल्टीविंडो" (मल्टीविंडो वैकल्पिक है - यह प्रत्येक ऐप के लिए नई विंडो खोलता है) पर जाएं।

यदि कमांड लाइन से openssh "ssh" का उपयोग करना है: "vagrant ssh - -vvv -X" जाने से पहले, "DISPLAY = localhost: 0" निर्यात करें (नहीं ": 0" लेकिन "localhost: 0" तो यह टीसीपी का उपयोग करता है)। मैं गिट बैश चला रहा हूं जो msys2 का उपयोग करता है जो नकली यूनिक्स डोमेन सॉकेट पर मेरे सिग्विन एक्स सर्वर के साथ ठीक से संवाद नहीं कर रहा है। लेकिन अगर मैं अपने साइगविन प्रॉम्प्ट के तहत "योनेंट एसएसएच-एक्स" का उपयोग करता हूं (यूनिक्स डोमेन सॉकेट के लिए DISPLAY =: 0 के साथ), यह काम करता है।

महान जानकारी स्रोत: http://dustwell.com/how-x-over-ssh-really-works.html

इसके अलावा, आप अपने Vagrantfile को जोड़ सकते हैं "config.ssh.forward_x11 = सच"। मुझे लगता है कि यह अतिथि वर्चुअल मशीन सेट अप या "वानर रीलोड" चलाए जाने पर X11Forwarding को/etc/ssh/sshd_config में सेट करता है। - https://coderwall.com/p/ozhfva/run-graphical-programs-within-vagrantboxes

अद्यतन: एक्सएथ सुरक्षा के बिना एक्स चलाने की अनुशंसा नहीं की जाती है (जैसा कि ऊपर दिखाया गया है)। यह सुरक्षित नहीं है। उदाहरण के लिए, एक ही लैन पर अन्य कंप्यूटर आपके एक्स-सर्वर से टीसीपी के माध्यम से कनेक्ट हो सकते हैं और xkeys का उपयोग करके अपने कीप्रेस को स्नीफ कर सकते हैं। एक्स को सीधे चलाने के बजाय "स्टार्टक्सविन" का उपयोग करें ताकि यह XWin के "-auth" विकल्प का उपयोग कर सके। यह मेरे सिग्विन एक्स सर्वर पर एक्स को रीडायरेक्ट करने के लिए मेरे msys2 ssh प्राप्त करना मेरे लिए मुश्किल बनाता है। कनेक्ट करते समय एसएसएच लॉग कहता है कि यह xauth कमांड नहीं ढूंढ सकता - ऐसा इसलिए है क्योंकि यह मेरे msys2 वातावरण में मौजूद नहीं है। सिग्विन एसएसएच एक्स-रीडायरेक्शन अभी भी ठीक काम करता है। पुट्टी तब तक ठीक काम करता है जब तक आप पुटी सत्र कॉन्फ़िगरेशन में .X प्राधिकरण फ़ाइल पथ सेट करते हैं (यह शायद आपकी होम निर्देशिका में सही है)।

मुझे पता चला टीसीपी/यूनिक्स डोमेन सॉकेट समस्या/समाधान (इस FAQ काफी उपयोगी है और जानकारी का एक बहुत कुछ है) cygwin सवाल जवाब में वास्तव में है:

6.7। पुटी द्वारा अग्रेषित एक्स सत्र कनेक्ट नहीं हो सकते हैं। गैर-सिग्विन स्थानीय एक्स क्लाइंट कनेक्ट नहीं हो सकते हैं।

एक्स सर्वर अब डिफ़ॉल्ट रूप से -ऑलिस्टेन टीसीपी का उपयोग करता है, जो एक्स सर्वर की सुरक्षा को टीसीपी/आईपी सॉकेट खोलने से नहीं बढ़ाता, केवल एक स्थानीय (यूनिक्स डोमेन) सॉकेट। गैर-सिग्विन अनुप्रयोग उस सॉकेट से कनेक्ट नहीं हो सकते हैं।

https://x.cygwin.com/docs/faq/cygwin-x-faq.html

संबंधित मुद्दे