Xrdp का उपयोग करके दूरस्थ डेस्कटॉप करने में असमर्थ


13

मेरे पास एक उबंटू वर्चुअल मशीन है जिसमें मुझे दूरस्थ डेस्कटॉप करने की आवश्यकता है। मेरे पास उस मशीन तक भौतिक पहुंच नहीं है और मैं मशीन को केवल ssh कर सकता हूं। मैं दूरस्थ डेस्कटॉप करना चाहता था और बहुत सारे विकल्प (vnc, xrdp, opennx) के साथ आया था। मैंने xrdp का उपयोग किया और मैंने ubuntu मशीन (xrdp और निर्भर) में आवश्यक पैकेज स्थापित किए। तब मैंने निम्न कमांड लाइन विकल्प का उपयोग करके ubuntu में रिमोट एक्सेस को सक्षम किया।

gconftool-2 -s -t bool /desktop/gnome/remote_access/enabled true

gconftool-2 -s -t bool /desktop/gnome/remote_access/prompt_enabled false

फिर मैंने xrdp (/etc/init.d/xrdp start) को फिर से शुरू किया। लेकिन जब मैं विंडोज़ क्लाइंट (mstsc) का उपयोग करके rdp करने की कोशिश करता हूं, तो मुझे निम्न त्रुटि मिलती है। सर्वर तक दूरस्थ पहुँच सक्षम नहीं है।

मैं इसे कैसे हल करूं? कृप्या सहायता करे।

राज

जवाबों:


13

फ़ाइल /etc/xrdp/xrdp.ini पर पता जोड़ें = 0.0.0.0 जो कि डिफ़ॉल्ट xrdp पता है।

इसके अलावा आपको फ़ायरवॉल को पोर्ट 3389 पर कनेक्शन सुनने के लिए अनुमति देनी होगी कि xrdp काम कर रहा है। इस निष्पादन के लिए:

sudo ufw allow 3389

अगर वह भी काम नहीं करता है:

  1. पीसी को पुनरारंभ करें
  2. sudo ufw disableसर्वर पीसी पर फ़ायरवॉल ( ) को अक्षम करें और फिर रीचेक (यहां तक ​​कि एक और पुनरारंभ की आवश्यकता हो सकती है)।

यदि आप इसे चूक गए हैं, तो मैं नीचे दी गई पूरी प्रक्रिया को सूचीबद्ध करूँगा (जो इकट्ठा करने के लिए एक दर्द था )। यदि आप कदम से कदम (वादा!) का पालन करते हैं तो आप ठीक हो जाएंगे।


किसी भी OS के चरण-दर-चरण मार्गदर्शिका के बीच दूरस्थ डेस्कटॉप

मैं । विंडोज से विंडोज के लिए:

Windows दूरस्थ डेस्कटॉप सॉफ़्टवेयर का उपयोग करें

II । लिनक्स / यूनिक्स कहीं से भी / के लिए

पहले सर्वर कंप्यूटर पर निम्न कार्य करें जिसे आप दूरस्थ डेस्कटॉप के माध्यम से कनेक्ट करेंगे:

- Allow other users to view your desktop
- Best to require a password
- service ssh status
- To allow computers to connect with X11 graphics system capabilities as well, you need to 
    install an X11 server on the computer that is trying to connect (client). So
    * for a Windows computer use XMing
    * for a Linux Ubuntu computer use XQuartz

IIa । ग्राफिक्स समर्थन के साथ टर्मिनल से विंडोज के लिए लिनक्स

- Launch XMing on Windows client
- Launch Putty
    * Fill in basic options
    * Connection -> SSH -> X11
        -> Enable X11 forwarding
        -> X display location = :0.0
        -> MIT-Magic-Cookie-1
        -> X authority file for local display = point to the Xming.exe executable

IIb । (b for better) पूर्ण GUI समर्थन के साथ लिनक्स से विंडोज। यह वही है जो आप में से अधिकांश चाहते हैं।

- install xrdp which uses the remote desktop protocol to present a GUI to the user. 
    It can provide a fully functional Linux terminal server, capable of accepting connections 
    from rdesktop, freerdp, and Microsoft's own terminal server / remote desktop clients. 
    xrdp is the daemon that handles RDP remote desktop access from Windows machines to Linux 
- edit the "/etc/xrdp/xrdp.ini" file to include the line:
    address=0.0.0.0
    right under #background=626x72 line. 0.0.0.0 is the local server address of xrdp
- Restart xrdp service
- allow xrdp port (probably 3389) through firewall
- We also need a VNC server. Install tightvncserver on Linux server machine. 
- run tightvncserver (no need to create a view-only password)
- "netstat -lvp | grep vnc" to check out the ports that tightvnc is listening on for 
    connections
- allow the vncserver port from the firewall: sudo ufw allow #
- allow the xrdp server
- Install xfce4 desktop environment an update to xfce, minimalistic faster and lightweight
    sudo apt-get install xfce4
- sudo apt-get install xfce4-terminal : way better than xterm
- sudo apt-get install gnome-icon-theme-full tango-icon-theme : installs icon sets
- Now we modify 2 files to make sure xrdp uses xfce4
    * echo xfce4-session >~/.xsession
    * secondly we modify startup file for xRDP located at /etc/xrdp/startwm.sh
        so it will start xfce4. Replace the last line with 
        startxfce4 
        (before it had something which started with a ., but no matter whatever it is, just 
        replace the last line)
    * restart xrdp service: sudo service xrdp restart
- Now you are ready to log into the computer from client using Remote Desktop (mstsc.exe). 
    Just supply the ipv4 or hostname of the VNC server.

III । * निक्स से / से * निक्स

- ssh -X [preferedUserName]@[targetIpv4Address] : -X flag enales X11 forwarding
- accept security certificates from trusted hosts when prompted

IV । कनेक्शन को सुरक्षित बनाना (वैकल्पिक चरण - किसी भी कॉन्फ़िगरेशन पर लागू होता है)

VNC और xrdp प्रोटोकॉल सुरक्षित नहीं हैं जिसका अर्थ है कि वे एन्क्रिप्टेड नहीं हैं।

कनेक्शन को सुरक्षित करने के लिए /etc/xrdp/xrdp.ini फ़ाइल को संपादित करें ताकि पता 127.0.0.1 हो जाए। यह ssh सर्वर का लोकलहोस्ट एड्रेस होगा। SSH एन्क्रिप्शन का उपयोग vnc ट्रैफिक को टनल के नीचे करने के लिए किया जाएगा।

- sudo service xrdp restart
- sudo service ssh restart
- pkill Xtightvnc
- tightvncserver
- putty -> Connection -> SSH -> Tunnels 
    * Source port: 5555
    * Destination: localhost:3389

यदि उपरोक्त काम नहीं करता है:

  1. आपको दोनों कंप्यूटरों को पुनरारंभ करने की आवश्यकता हो सकती है,
  2. sudo ufw disableसर्वर पीसी पर फ़ायरवॉल ( ) को अक्षम करें और फिर रीचेक (यहां तक ​​कि एक और पुनरारंभ की आवश्यकता हो सकती है)।
  3. यदि ऊपर काम नहीं करता है तो आपने परस्पर विरोधी पैकेज स्थापित करके अपने सिस्टम को गड़बड़ कर दिया है। आपको उस पर मैन्युअल समस्या निवारण करना होगा (यदि आप निर्देशों का ठीक से पालन करते हैं, तो आप इस कदम तक नहीं पहुँच सकते हैं)।

स्रोत और क्रेडिट:


यदि आप Ubuntu 18.04.2 या Ubuntu 18.04.3 चला रहे हैं, तो xorgxrdp-hwe-18.04 स्थापित करने से आपकी समस्या हल हो सकती है (यह मेरा हल हो गया)। इस ब्लॉग पोस्ट को देखें: c-nergy.be/blog/?p=13972
jhin

4

मैं विशेष रूप से xrdp से परिचित नहीं हूं, लेकिन पहली बात मैं यह देखना चाहूंगा कि क्या इसका उपयोग पोर्ट a) कनेक्शनों के लिए सुन रहा है और b) बाहरी दुनिया के लिए खुला है। RDP के लिए डिफ़ॉल्ट पोर्ट 3389 है

पहले की जाँच करना बहुत आसान है; बस इसे उस मशीन पर टर्मिनल में चलाएं जिसे आप कनेक्ट करने का प्रयास कर रहे हैं (3389 को बदलें यदि xrdp एक अलग पोर्ट पर सुन रहा है):

netstat -an | grep "LISTEN " | grep ":3389"

यदि आपको निम्नलिखित के समान कुछ मिलता है, तो कम से कम (उम्मीद है कि xrdp) कनेक्शन के लिए सुन रहा है:

tcp        0      0 127.0.1.1:3389            0.0.0.0:*               LISTEN

यदि आपको कोई आउटपुट नहीं मिलता है, तो कोशिश करें (पुनः) xrdp शुरू करें या सुनिश्चित करें कि आपके पास सही पोर्ट है।

अगला, आपको यह सुनिश्चित करने की आवश्यकता है कि मशीन उस पोर्ट पर इंटरनेट तक पहुंच योग्य है, जिसमें दो चीजें शामिल थीं: यह सुनिश्चित करना कि मशीन पर फ़ायरवॉल स्वयं उस पोर्ट के कनेक्शन को अवरुद्ध नहीं कर रहा है, और यह सुनिश्चित कर रहा है कि कोई भी नेटवर्क डिवाइस ( आप जिस कंप्यूटर से कनेक्ट करने का प्रयास कर रहे हैं उसके बीच राउटर) और इंटरनेट कनेक्शन को ब्लॉक नहीं कर रहा है। PortForward.com बाद में मदद कर सकता है; पहला इस बात पर निर्भर करता है कि आपकी मशीन पर किस तरह का फ़ायरवॉल स्थापित है, यदि कोई हो।

उम्मीद है की यह मदद करेगा!


1
नीचे netstat का आउटपुट है .. मैं दूसरे भाग की जाँच करूँगा और आपको घुसा दूँगा .. tcp 0 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
user1667630

ठीक है, अच्छा है, इसका मतलब है कि xrdp कनेक्शन के लिए सुन रहा है। आपने कहा था कि आप केवल पोर्ट 22 पर वर्चुअल मशीन का उपयोग कर सकते हैं, हालांकि, यही कारण है कि आरडीपी क्लाइंट कनेक्ट नहीं कर सकता है। आप किस वर्चुअल मशीन सॉफ़्टवेयर का उपयोग कर रहे हैं?
स्टीवनमिब्रिटो

मुझे क्षमा करें .. क्या आप बता सकते हैं कि "वर्चुअल मशीन सॉफ़्टवेयर" से आपका क्या मतलब है ... उबंटू में, मैंने अभी xrdp स्थापित किया है ..
user1667630

आपने अपने ओपी में कहा: I have a virtual machine (ubuntu) to which i need to do remote desktop.वर्चुअल मशीन (VirtualBox, VMware, Virtuozzo, Xen, OpenVZ, आदि) के तहत चलने वाली कौन सी सॉफ्टवेयर है? क्या यह आपके स्थानीय कंप्यूटर पर एक मशीन है या यह कहीं VPS की मेजबानी है?
स्टीवनमिब्रिटो

क्षमा करें .. हाँ .. यह एक VPS की मेजबानी कहीं है !! मूल रूप से यह अपाचे सॉफ्टवेयर फाउंडेशन के समाधान का उपयोग करता है .. वर्चुअल कंप्यूटिंग!
user1667630

2

मुझे आखिरकार यह मेरे लिए काम करने के लिए मिला; सेटअप: पुराने लैपटॉप ubuntu 13.10 चल मानक एकता चल रहा है; मैंने कैरो डॉक स्थापित किया है (जो इसे मेरे लिए बहुत अधिक उपयोगी बनाता है); अभी भी बाईं ओर ऐप बार का उपयोग नहीं किया गया है;

यह अच्छा होगा कि मैं इस ubuntu 13.10 में rdp करने के लिए अपने win7 सिस्टम का उपयोग कर सकूं, इसलिए मैंने आज सुबह कुछ घंटे रिसर्च करके बिताए। मैंने जो किया था यह रहा:

sudo apt-get update
sudo apt-get install xrdp

या आप स्थापित करने के लिए ubuntu सॉफ्टवेयर सेंटर का उपयोग कर सकते हैं।

स्थापना ठीक दिखाई दी और ऐसा प्रतीत हुआ कि xrdp सेवा ठीक शुरू हुई थी।

मेरे win7 बॉक्स से, मैंने एक rdp विंडो खोली और लैपटॉप के IP पते का उपयोग किया; एक खिड़की खुल गई लेकिन सिर्फ एक मानक x11 विंडोज़ स्क्रीन (एक्स कर्सर के साथ क्रॉस-हैच पैटर्न); कोई लिंक, प्रतीक या मेनू का उपयोग करने के लिए।

अधिक गूगल अनुसंधान। मैंने सूक्ति-सत्र-पतन की स्थापना की:

$ sudo apt-get install gnome-session-fallback
$ echo "gnome-session --session=gnome-fallback" > ~/.xsession

यह काम नहीं किया; मुझे वही रिक्त स्क्रीन मिली, लेकिन एक और URL मिला जिसने सुझाव दिया कि एक और विंडोज़ सत्र XFCE की तरह एमआरजी है, इसलिए मैंने xubuntu डेस्कटॉप स्थापित किया:

$ sudo apt-get install xubuntu-desktop
$ echo "xfce4-session" > ~/.xsession

sudo /etc/init.d/xrdp restartसभी परिवर्तनों के बाद मत भूलना ।

यह काम किया। सबसे पहले, आरडीपी सत्र के शुरुआती स्टार्ट-अप पर, मुझे एक ही रिक्त स्क्रीन मिली, लेकिन 10 सेकंड के बाद (शायद इसलिए कि मैं एक दूरस्थ स्थान से काम पर win7 VDI का उपयोग कर रहा हूं) एक प्रयोग करने योग्य xfce xubuntu डेस्कटॉप पर पॉप अप हुआ; सूक्ति के रूप में अच्छा नहीं है, लेकिन बहुत उपयोगी है।

आशा है कि यह जानकारी उपयोगी होगी, क्योंकि मुझे मेरे लिए काम करने के शुरुआती प्रयास नहीं मिले।

डेव


1

उबंटू समुदाय में आपका स्वागत है।

सबसे पहले विंडोज़ बॉक्स में विंडोज़ वर्चुअल मशीन की नेटवर्क सेटिंग्स की जाँच करें। नेटवर्क सेटिंग्स में ब्रिज कनेक्शन चुनें। चेक करें कि आरडीपी को विंडो क्लाइंट के फ़ायरवॉल से गुजरने की अनुमति है।


हाय .. मैं ssh करने में सक्षम हूँ। क्या आप कृपया मुझे बता सकते हैं कि कैसे आरडीपी को फ़ायरवॉल से गुजरने की अनुमति है
user1667630

हां, विंडोज क्लाइंट में फ़ायरवॉल सेटिंग्स खोलें, आपको उन कार्यक्रमों और सेवाओं की सूची मिलेगी जिन्हें पास करने की अनुमति है, आरडीपी ढूंढें, संपादन पर क्लिक करें, सक्षम करें और लागू करें।
केतन पटेल

यह पहले से ही सक्षम था !! मैंने इसकी जाँच की .. क्या उबंटू का UI प्राप्त करने का कोई अन्य तरीका है। एक और समस्या केवल पोर्ट 22 को ubuntu में सक्षम है ..
user1667630

कमांड सेवा iptables स्टॉप का उपयोग करके उबंटू फ़ायरवॉल को बंद करें
केतन पटेल

1
sudo ufw disable 

फिर अपने rdp .. क्लाइंट सॉफ़्टवेयर का उपयोग करके लॉगिंग का प्रयास करें। मैं इसे 12.04 लिनक्स vps के लिए सेट करने की प्रक्रिया में हूं, अब तक मैं जुड़ा हुआ हूं लेकिन डेस्कटॉप को केवल कमांड विंडो नहीं देख रहा हूं।

हाय कली, आपने कहा कि आप कनेक्ट हो गए हैं और आप सभी देखते हैं कि एक टर्मिनल विंडो है, मुझे नहीं पता कि आपका पूरा सेट अप क्या है, लेकिन यहाँ है, मुझे उम्मीद है कि यह मदद करता है।

सुनिश्चित करें कि आपका vncserver यह vncserver :1 अगले nanoमें चल रहा ~/.vnc/xstartupहै आपको एक बिन में लाता है !! bla bla फ़ाइल, जहाँ आप अंतिम पंक्ति देखते हैं ( & -x-window-manager), जोड़ें & /etc/X11/Xsession &

अब इस फाइल में जाएं, /etc/xrdp/startwm.shऔर SURE IN THERE, आपकी अंतिम पंक्ति है

. /etc/X11/Xsession

ऐसा करने के बाद ऐसा करने से vncserver को पुनः आरंभ करें।

vncserver -kill :1 

फिर से शुरू करें

vncserver :1

वैसे मुझे सिर्फ Xrdp से ज्यादा इनस्टॉल करना पड़ा था और मैंने कुछ ज्यादा ही कमांड्स कर लिए थे कि अगर Xrdp फेल हो गया तो सब मेरे लिए एक मिनट में अच्छा लगता है, इसे ज़रूर बताएं और जानते हैं कि व्हाट्स कुकिंग है या नहीं। सौभाग्य। पी एस .. जब यह काम करता है, तो इसके साथ बहुत बढ़िया।


0

यदि फ़ायरवॉल के माध्यम से केवल पोर्ट 22 की अनुमति दी जा रही है, और आपके नेटवर्क पथ पर नियंत्रण की कमी है, तो आप अपने स्थानीय सिस्टम के माध्यम से दूरस्थ बॉक्स पर अपने चुने हुए पोर्ट को सुरंग के लिए ssh सुरंग का उपयोग करना चाह सकते हैं।

यदि लिनक्स / यूनिक्स बॉक्स से ऐसा करना ssh के लिए -L फ्लैग को देखता है:

ssh -L 3390:127.0.0.1:3389 -l remote_user remote_host

जहां पहला 3390 लोकल पोर्ट नंबर है और दूसरा 3389 रिमोट पोर्ट नंबर है; फिर आप कनेक्ट करने के लिए RDC 127.0.0.1:3390 पर जाएंगे। ध्यान दें कि सुरंग ssh सत्र से जुड़ी है - यदि आप उस ssh सत्र को बंद करते हैं, तो सुरंग भी बंद हो जाएगी और दूरस्थ डेस्कटॉप से ​​आपका कनेक्शन बंद हो जाएगा। सुनिश्चित करें कि आप स्थानीय पक्ष के लिए अप्रयुक्त पोर्ट का उपयोग करते हैं।

यदि विंडोज सिस्टम से कनेक्ट करने के लिए पोटीन का उपयोग करें और अपने सत्र के लिए ssh टनलिंग विकल्पों को सक्षम करें (कनेक्शन देखें-> SSH-> सत्र कॉन्फ़िगरेशन विकल्पों में सुरंगें।)

एक बार सुरंग स्थापित हो जाने के बाद आप कनेक्ट करने के लिए अपने चुने हुए आरडीपी क्लाइंट का उपयोग कर सकते हैं। अन्य उत्तरों में से कई सेटअप के इस हिस्से को संबोधित करते हैं (व्यक्तिगत रूप से मैं xfce4- सत्र सुझाव के बाद घाव करता हूं।)


0

टर्मिनल में कमांड चलाएँ:

sudo apt-get install xrdp
sudo apt-add-repository ppa:ubuntu-mate-dev/ppa
sudo apt-add-repository ppa:ubuntu-mate-dev/trusty-mate
sudo apt-get update 
sudo apt-get upgrade
sudo apt-get install ubuntu-mate-core ubuntu-mate-desktop


echo mate-session >~/.xsession
sudo service xrdp restart
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.