it-swarm.com.de

Remote-Desktop kann nicht mit xrdp ausgeführt werden

Ich habe eine virtuelle Ubuntu-Maschine, für die ich Remotedesktop ausführen muss. Ich habe keinen physischen Zugriff auf diese Maschine und kann nur ssh auf die Maschine ausführen. Ich wollte Remotedesktop und hatte viele Optionen (vnc, xrdp, opennx). Ich habe xrdp verwendet und die erforderlichen Pakete auf dem Ubuntu-Rechner 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 xrdp neu gestartet (/etc/init.d/xrdp start). Aber wenn ich versuche, RDP mit dem Windows-Client (MSTSC) zu tun, erhalte ich die folgende Fehlermeldung. Der Remotezugriff auf den Server ist nicht aktiviert.

Wie löse ich das? Freundlich helfen.

Raj

8
user1667630

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

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

Sudo ufw allow 3389

Wenn das auch nicht geht:

  1. PCs neu starten
  2. Deaktivieren Sie die Firewall (Sudo ufw disable) auf dem Server-PC und überprüfen Sie sie erneut (möglicherweise ist sogar ein weiterer Neustart erforderlich).

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


Remotedesktop zwischen den schrittweisen Anleitungen aller Betriebssysteme

I. Windows zu/von Windows:

Verwenden Sie die Windows-Remotedesktopsoftware

II. Linux/Unix von/nach überall

Führen Sie zunächst die folgenden Schritte auf dem Server-Computer aus, den Sie über den Remotedesktop verbinden möchten:

- 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 für besseres) Windows zu Linux mit voller GUI-Unterstützung. Das werden die meisten von Ihnen 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 nach/von * nix

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

IV. Sichere Verbindung herstellen (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 sicherer 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 nicht funktioniert:

  1. Möglicherweise müssen Sie beide Computer neu starten,
  2. Deaktivieren Sie die Firewall (Sudo ufw disable) auf dem Server-PC und überprüfen Sie sie erneut (möglicherweise ist sogar ein weiterer Neustart erforderlich).
  3. Wenn dies nicht funktioniert, haben Sie Ihr System durch die Installation widersprüchlicher Pakete durcheinander gebracht. Hierfür müssen Sie eine manuelle Fehlerbehebung durchführen (es ist sehr unwahrscheinlich, dass Sie diesen Schritt erreichen, wenn Sie die Anweisungen ordnungsgemäß befolgen).

Viel Glück.


Quellen und Kredit:

8
Nikos

Ich kenne mich mit xrdp nicht besonders aus, aber ich überprüfe zunächst, ob der verwendete Port a) auf Verbindungen wartet und b) nach außen offen ist. Der Standardport für RDP ist 3389 .

Das 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 auf einem anderen Port lauscht):

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

Wenn Sie etwas Ähnliches wie das Folgende erhalten, wartet mindestens 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 über diesen Port für das Internet zugänglich ist. Dies umfasst zwei Dinge: Stellen Sie sicher, dass die Firewall auf dem Computer selbst keine Verbindungen zu diesem Port blockiert, und stellen Sie sicher, dass alle Netzwerkgeräte ( 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; Das erste hängt davon ab, welche Art von Firewall auf Ihrem Computer installiert ist.

Hoffe das hilft!

4
stevenmirabito

Ich habe es endlich geschafft, für mich zu arbeiten. Setup: älterer Laptop mit Ubuntu 13.10 und Standard Unity; Ich habe ein Kairo-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, mit meinem win7-System in dieses Ubuntu 13.10 zu rdpen, also habe ich heute Morgen ein paar Stunden lang recherchiert. 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 der xrdp-Dienst wurde anscheinend in Ordnung gestartet.

In meiner Win7-Box öffnete ich ein RDP-Fenster und verwendete die IP-Adresse des Laptops, um einzusteigen. Es öffnete sich ein Fenster, jedoch nur ein normaler 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 vorschlug. Deshalb habe ich xubuntu desktop installiert:

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

Vergiss nicht, Sudo /etc/init.d/xrdp restart nach all den Änderungen.

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

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

Dave

1
user224176

Willkommen in der Ubuntu Community.

Überprüfen Sie zunächst die Netzwerkeinstellungen der Windows Virtual Machine in Virtual Box. Wählen Sie in den Netzwerkeinstellungen Bridge Connection aus. Stellen Sie sicher, dass RDP die Firewall von Window Client passieren kann.

1
Ketan Patel
Sudo ufw disable 

versuchen Sie dann, sich mit Ihrer rdp .. -Client-Software anzumelden. Ich bin 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, dass du verbunden bist 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 mit vncserver :1 next nano in ~/.vnc/xstartup ausgeführt wird. Dies bringt Sie in einen Papierkorb !! bla bla Datei, in der Sie die letzte Zeile sehen (& -x-window-manager), fügen Sie & /etc/X11/Xsession & hinzu

Gehen Sie jetzt in diese Datei, /etc/xrdp/startwm.sh und seien Sie SICHER, DASS Ihre letzte Zeile ist

. /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 momentan gut für mich zu sein. Viel Glück. Ps .. es ist toll, wenn es funktioniert, bleib dabei.

1
jamjam

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
0
Antony Ruddy

Wenn nur Port 22 durch die Firewall zugelassen wird und Sie nicht über die Kontrolle über Ihren Netzwerkpfad verfügen, können Sie den von Ihnen ausgewählten Port auf der Remote-Box mithilfe von ssh-Tunneling zu Ihrem lokalen System tunneln.

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

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

wobei die erste 3390 die lokale Portnummer und die zweite 3389 die entfernte Portnummer ist; du würdest dich dann per RDC mit 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 getrennt. 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 (persönlich bin ich dem Vorschlag der xfce4-Sitzung gefolgt).

0
user292300