Remotedesktop mit xrdp nicht möglich


13

Ich habe eine virtuelle Ubuntu-Maschine, für die ich einen Remotedesktop ausführen muss. Ich habe keinen physischen Zugriff auf diesen Computer und kann nur SSH mit dem Computer ausführen. Ich wollte Remotedesktop ausführen und hatte viele Optionen (vnc, xrdp, opennx). Ich habe xrdp verwendet und die erforderlichen Pakete auf dem Ubuntu-Computer installiert (xrdp und abhängig). Dann habe ich den Fernzugriff im Ubuntu mit der folgenden Befehlszeilenoption aktiviert.

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

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

Dann habe ich das xrdp neu gestartet (/etc/init.d/xrdp start). Wenn ich jedoch versuche, rdp mit dem Windows-Client (mstsc) auszuführen, wird der folgende Fehler angezeigt. Der Fernzugriff auf den Server ist nicht aktiviert.

Wie löse ich das? Freundlich helfen.

Raj

Antworten:


12

Fügen Sie in der Datei /etc/xrdp/xrdp.ini die Adresse = 0.0.0.0 hinzu, die die Standard-xrdp-Adresse ist.

Außerdem müssen Sie der Firewall erlauben, Verbindungen an Port 3389 abzuhören, an dem xrdp arbeitet. Führen Sie dazu Folgendes aus:

sudo ufw allow 3389

Wenn das auch nicht funktioniert:

  1. Starten Sie die PCs neu
  2. Deaktivieren Sie firewall ( sudo ufw disable) auf dem Server-PC und überprüfen Sie es erneut (möglicherweise muss es sogar neu gestartet werden).

Falls Sie es verpasst haben, werde ich das gesamte Verfahren unten auflisten (was schwierig zu montieren war). Sie werden damit einverstanden sein, wenn Sie Schritt für Schritt folgen (Versprechen!).


Remotedesktop zwischen den Schritt-für-Schritt-Anleitungen aller Betriebssysteme

Ich . Windows zu / von Windows:

Verwenden Sie die Windows-Remotedesktopsoftware

II . Linux / Unix zu / von überall

Führen Sie zunächst auf dem Servercomputer, den Sie über den Remotedesktop verbinden, die folgenden Schritte aus:

- 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 . Windows zu Linux vom Terminal mit Grafikunterstützung

- 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 zum Besseren) Windows zu Linux mit voller GUI-Unterstützung. Das werden die meisten von euch wollen.

- 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 . * nix zu / von * nix

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

IV . Sicherstellen der Verbindung (optionaler Schritt - gilt für jede Konfiguration)

VNC- und xrdp-Protokolle sind nicht sicher, was bedeutet, dass sie nicht verschlüsselt sind.

Um die Verbindung sicher zu machen, bearbeiten Sie die Datei /etc/xrdp/xrdp.ini so, dass die Adresse 127.0.0.1 lautet. Dies ist die localhost-Adresse des SSH-Servers. Darunter wird die SSH-Verschlüsselung verwendet, um den VNC-Verkehr zu tunneln.

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

Wenn das oben genannte nicht funktioniert:

  1. Möglicherweise müssen Sie beide Computer neu starten.
  2. Deaktivieren Sie firewall ( sudo ufw disable) auf dem Server-PC und überprüfen Sie es erneut (möglicherweise muss es sogar neu gestartet werden).
  3. Wenn dies nicht funktioniert, haben Sie Ihr System durch die Installation widersprüchlicher Pakete durcheinander gebracht. Sie müssen diesbezüglich eine manuelle Fehlerbehebung durchführen (sehr unwahrscheinlich, dass Sie diesen Schritt erreichen, wenn Sie die Anweisungen ordnungsgemäß befolgen).

Quellen und Kredit:


Wenn Sie Ubuntu 18.04.2 oder Ubuntu 18.04.3 ausführen, kann die Installation von xorgxrdp-hwe-18.04 Ihr Problem lösen (es hat mein Problem gelöst). Siehe diesen Blog-Beitrag: c-nergy.be/blog/?p=13972
3.

4

Ich bin nicht besonders mit xrdp vertraut, aber das erste, was ich überprüfen würde, ist zu prüfen, ob der verwendete Port a) auf Verbindungen wartet und b) nach außen offen ist. Der Standardport für RDP ist 3389 .

Der erste ist ziemlich einfach zu überprüfen; Führen Sie dies einfach im Terminal des Computers aus, zu dem Sie eine Verbindung herstellen möchten (ändern Sie 3389, wenn xrdp einen anderen Port überwacht):

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

Wenn Sie etwas Ähnliches wie das folgende erhalten, wartet zumindest etwas (hoffentlich xrdp) auf Verbindungen:

tcp        0      0 127.0.1.1:3389            0.0.0.0:*               LISTEN

Wenn Sie keine Ausgabe erhalten, starten Sie xrdp (neu) oder stellen Sie sicher, dass Sie den richtigen Port haben.

Als Nächstes müssen Sie sicherstellen, dass der Computer an diesem Port für das Internet zugänglich ist. Dies umfasste zwei Dinge: Stellen Sie sicher, dass die Firewall auf dem Computer selbst keine Verbindungen zu diesem Port blockiert, und stellen Sie sicher, dass ein Netzwerkgerät ( dh ein Router) zwischen dem Computer, zu dem Sie eine Verbindung herstellen möchten, und dem Internet blockiert keine Verbindungen. PortForward.com kann bei letzterem helfen. Die erste hängt davon ab, welche Art von Firewall auf Ihrem Computer installiert ist, falls vorhanden.

Hoffe das hilft!


1
Unten ist die Ausgabe des netstat .. Ich werde den zweiten Teil überprüfen und Sie wissen lassen .. tcp 0 0 0.0.0.0:3389 0.0.0.0:* HÖREN
user1667630

OK, gut, das bedeutet, dass xrdp auf Verbindungen wartet. Sie haben jedoch gesagt, dass Sie nur über Port 22 auf die virtuelle Maschine zugreifen können, weshalb der RDP-Client keine Verbindung herstellen kann. Welche Software für virtuelle Maschinen verwenden Sie?
Stevenmirabito

Es tut mir leid. Können Sie bitte sagen, was Sie unter "Software für virtuelle Maschinen" verstehen
?

Sie sagten in Ihrem OP: Unter I have a virtual machine (ubuntu) to which i need to do remote desktop.welcher Software läuft die virtuelle Maschine (VirtualBox, VMware, Virtuozzo, Xen, OpenVZ usw.)? Ist dies ein Computer auf Ihrem lokalen Computer oder ein VPS, der irgendwo gehostet wird?
Stevenmirabito

sorry .. yeah .. es ist ein VPS irgendwo gehostet !! Grundsätzlich wird die Lösung der Apache Software Foundation verwendet. Virtual Computing Lab !!
user1667630

2

Ich habe es endlich geschafft, für mich zu arbeiten; Setup: älterer Laptop mit Ubuntu 13.10 mit Standard Unity; Ich habe ein Cairo-Dock installiert (was es für mich viel benutzerfreundlicher macht). immer noch nicht an die linke App-Leiste gewöhnt;

Es wäre schön, mein Win7-System verwenden zu können, um in dieses Ubuntu 13.10 zu rdp, also habe ich heute Morgen ein paar Stunden damit verbracht, Nachforschungen anzustellen. Folgendes habe ich getan:

sudo apt-get update
sudo apt-get install xrdp

oder Sie könnten Ubuntu Software Center verwenden, um zu installieren.

Die Installation schien in Ordnung zu sein und es schien, dass der xrdp-Dienst in Ordnung gestartet wurde.

Von meiner Win7-Box aus öffnete ich ein RDP-Fenster und benutzte die IP-Adresse des Laptops, um einzusteigen. Es öffnete sich ein Fenster, aber nur ein Standard-x11-Fensterbildschirm (Schraffurmuster mit x-Cursor). Keine Links, Symbole oder Menüs zu verwenden.

Mehr Google-Forschung. Ich habe den Gnome-Session-Fallback installiert:

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

Das hat nicht funktioniert; Ich habe den gleichen leeren Bildschirm erhalten, aber eine andere URL gefunden, die einen anderen Windows-Sitzungsmanager wie XFCE vorschlägt. Deshalb habe ich den xubuntu-Desktop installiert:

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

Vergessen Sie nicht, sudo /etc/init.d/xrdp restartnach all den Änderungen.

Das hat funktioniert. Beim ersten Start der rdp-Sitzung wurde zunächst derselbe leere Bildschirm angezeigt, aber nach 10 Sekunden (wahrscheinlich, weil ich bei der Arbeit von einem entfernten Standort aus ein Win7-VDI verwende) wurde ein verwendbarer xfce xubuntu-Desktop angezeigt. nicht so schön wie ein Gnom, aber sehr brauchbar.

Ich hoffe, diese Informationen werden nützlich sein, da ich die ersten Versuche, für mich zu arbeiten, nicht bekommen konnte.

Dave


1

Willkommen in der Ubuntu Community.

Überprüfen Sie zunächst die Netzwerkeinstellungen der virtuellen Windows-Maschine in der virtuellen Box. Wählen Sie in den Netzwerkeinstellungen die Option Brückenverbindung. Überprüfen Sie, ob RDP die Firewall des Windows-Clients passieren darf.


Hi .. ich kann ssh machen. Können Sie mir bitte sagen, wie ich prüfen soll, ob RDP die Firewall passieren darf
user1667630

Ja, Öffnen Sie die Firewall-Einstellungen im Windows-Client. Sie erhalten eine Liste der Programme und Dienste, die übergeben werden dürfen. Suchen Sie nach RDP. Klicken Sie auf Bearbeiten, Aktivieren und Anwenden.
Ketan Patel

Es wurde bereits aktiviert !! Ich habe es überprüft. Gibt es eine andere Möglichkeit, die Benutzeroberfläche des Ubuntu zu erhalten? Ein weiteres Problem ist, dass nur Port 22 im Ubuntu aktiviert ist.
user1667630

Schalten Sie die Ubuntu-Firewall mit dem Befehlsservice iptables stop aus
Ketan Patel

1
sudo ufw disable 

Versuchen Sie dann, sich mit Ihrer rdp .. Client-Software anzumelden. Ich bin gerade dabei, dies für 12.04 Linux VPS einzurichten. Bisher habe ich eine Verbindung hergestellt, sehe aber keinen Desktop, sondern nur ein Befehlsfenster.

Hallo Kumpel, du hast gesagt, du wurdest verbunden und alles, was du siehst, ist ein Terminalfenster. Ich weiß nicht, was dein komplettes Setup ist, aber hier ist meins, ich hoffe es hilft.

Stellen Sie sicher, dass Ihr vncserver als vncserver :1 nächstes ausgeführt nanowird, ~/.vnc/xstartupdamit Sie in einen Papierkorb gelangen !! bla bla Datei, wo Sie die letzte Zeile ( & -x-window-manager) sehen, hinzufügen & /etc/X11/Xsession &

Gehen Sie jetzt in diese Datei /etc/xrdp/startwm.shund stellen Sie sicher, dass Ihre letzte Zeile lautet

. /etc/X11/Xsession

Starten Sie anschließend den vncserver neu.

vncserver -kill :1 

dann neu starten

vncserver :1

Übrigens musste ich mehr als nur das Xrdp installieren und ich habe ein paar weitere Befehle für einen Fallback ausgeführt, wenn Xrdp fehlgeschlagen ist. Alles scheint mir im Moment gut zu sein. Probieren Sie es aus und lassen Sie uns wissen, was gekocht wird oder nicht. Viel Glück. Ps .. es ist großartig, wenn es funktioniert, bleib dabei.


0

Wenn nur Port 22 durch die Firewall zugelassen wird und Sie keine Kontrolle über Ihren Netzwerkpfad haben, möchten Sie möglicherweise SSH-Tunneling verwenden, um den von Ihnen ausgewählten Port auf der Remote-Box durch Ihr lokales System zu tunneln.

Wenn Sie dies von einer Linux / Unix-Box aus tun, sehen Sie sich das Flag -L für ssh an:

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

wobei der erste 3390 die lokale Portnummer und der zweite 3389 die Remote-Portnummer ist; Sie würden dann RDC zu 127.0.0.1:3390 verbinden. Beachten Sie, dass der Tunnel an die SSH-Sitzung gebunden ist. Wenn Sie diese SSH-Sitzung schließen, wird der Tunnel ebenfalls geschlossen und Ihre Verbindung zum Remotedesktop wird unterbrochen. Stellen Sie sicher, dass Sie einen nicht verwendeten Port für die lokale Seite verwenden.

Wenn Sie eine Verbindung von einem Windows-System aus herstellen, verwenden Sie putty und aktivieren Sie die SSH-Tunneloptionen für Ihre Sitzung (siehe Verbindung-> SSH-> Tunnel in den Sitzungskonfigurationsoptionen.)

Sobald der Tunnel eingerichtet ist, können Sie mit dem von Ihnen ausgewählten RDP-Client eine Verbindung herstellen. Einige der anderen Antworten befassen sich mit diesem Teil des Setups (ich persönlich bin dem Vorschlag der xfce4-Sitzung gefolgt.)


0

Führen Sie die Befehle im Terminal aus:

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.