Aktivieren des Remote Desktop-Protokolls mit xrdp unter Ubuntu 22.04

Der Autor hat den COVID-19 Hilfsfonds ausgewählt, um im Rahmen des Write for DOnations-Programms eine Spende zu erhalten.

Einführung

Remote Desktop Protocol (RDP) ist ein von Microsoft entwickeltes Netzwerkprotokoll, das Benutzern ermöglicht, aus der Ferne auf die grafische Benutzeroberfläche eines entfernten Windows-Servers zuzugreifen und mit ihr zu interagieren. RDP funktioniert nach dem Client-Server-Modell, bei dem ein RDP-Client auf einem lokalen Rechner installiert ist und ein RDP-Server auf dem entfernten Server.

RDP wird weitgehend für Windows-Fernverbindungen verwendet, aber man kann auch auf die grafische Benutzeroberfläche eines entfernten Linux-Servers zugreifen und mit ihr interagieren, indem man ein Werkzeug wie xrdp verwendet, eine Open-Source-Implementierung des RDP-Servers.

In diesem Tutorial installieren und konfigurieren Sie einen RDP-Server mit xrdp auf einem Ubuntu 22.04-Server und greifen mittels eines RDP-Clients von Ihrem lokalen Rechner darauf zu. Sie werden verstehen, wie man Zugang zu einem entfernten Linux-Server herstellt, indem man eine RDP-Verbindung konfiguriert und nutzt.

Setzen Sie Ihre Frontend-Anwendungen von GitHub mit DigitalOcean App Platform ein. Lassen Sie DigitalOcean sich um das Skalieren Ihrer App kümmern.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

  • Einen Ubuntu 22.04 Server mit einem Nicht-Root-Benutzer mit sudo-Berechtigungen, einer Firewall und mindestens 1GB RAM, den Sie einrichten können, indem Sie der Anleitung zur Einrichtung eines Ubuntu 22.04 Servers folgen.

  • Einen lokalen Computer mit einem installierten RDP-Client. Eine Liste der verfügbaren RDP-Clients für verschiedene Betriebssysteme finden Sie unten:

Schritt 1 — Installation einer Desktop-Umgebung auf Ubuntu

In diesem Schritt installieren und konfigurieren Sie eine Desktop-Umgebung auf Ihrem Ubuntu-Server. Standardmäßig wird ein Ubuntu-Server nur mit einer Terminal-Umgebung geliefert. Eine Desktop-Umgebung muss installiert werden, um eine Benutzeroberfläche zu verwenden.

Aus den verfügbaren Optionen für Ubuntu installieren Sie die Desktop-Umgebung Xfce. Xfce bietet eine leichte, benutzerfreundliche Desktop-Umgebung für Linux-basierte Systeme.

Um zu beginnen, verbinden Sie sich über SSH mit Ihrem Server und aktualisieren Sie die Liste der verfügbaren Pakete mit dem folgenden Befehl:

  1. sudo apt update

Anschließend installieren Sie die Pakete xfce und xfce-goodies auf Ihrem Server:

  1. sudo apt install xfce4 xfce4-goodies -y

Sie werden aufgefordert, einen Anzeigemanager auszuwählen, der ein Programm ist, das grafische Anmeldemechanismen und Benutzersitzungen verwaltet. Sie können eine beliebige Option aus der Liste der verfügbaren Anzeigemanager auswählen, aber dieses Tutorial verwendet gdm3.

Nach der Installation der Desktop-Umgebung installieren Sie nun xrdp auf Ihrem Server.

Schritt 2 — Installation von xrdp unter Ubuntu

xrdp ist eine Open-Source-Implementierung des RDP-Servers, die RDP-Verbindungen für Linux-basierte Server ermöglicht. In diesem Schritt installieren Sie xrdp auf Ihrem Ubuntu-Server.

Um xrdp zu installieren, führen Sie den folgenden Befehl im Terminal aus:

  1. sudo apt install xrdp -y

Nach der Installation von xrdp überprüfen Sie den Status von xrdp mit systemctl:

  1. sudo systemctl status xrdp

Dieser Befehl zeigt den Status als active (running) an:

Output
● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled) Active: **active (running)** since Sun 2022-08-07 13:00:44 UTC; 26s ago Docs: man:xrdp(8) man:xrdp.ini(5) Main PID: 17904 (xrdp) Tasks: 1 (limit: 1131) Memory: 1016.0K CGroup: /system.slice/xrdp.service └─17904 /usr/sbin/xrdp

Wenn der Status von xrdp nicht running ist, müssen Sie möglicherweise den Dienst manuell starten mit diesem Befehl:

  1. sudo systemctl start xrdp

Nach Ausführung des obigen Befehls überprüfen Sie den Status erneut, um sicherzustellen, dass xrdp im Zustand running ist.

Sie haben jetzt xrdp auf Ihrem Server installiert. Als nächstes werden Sie die Konfiguration von xrdp überprüfen, um Verbindungen von entfernten Clients zu akzeptieren.

Schritt 3 — Konfiguration von xrdp und Aktualisierung Ihrer Firewall

In diesem Schritt überprüfen Sie die Standardkonfiguration von xrdp, die unter /etc/xrdp/xrdp.ini gespeichert ist, und fügen eine Konfiguration für eine RDP-Verbindung hinzu. Sie werden auch die Firewall-Einstellungen aktualisieren.

xrdp.ini ist die Standardkonfigurationsdatei, um RDP-Verbindungen zum xrdp-Server einzurichten. Die Konfigurationsdatei kann geändert und angepasst werden, um den Anforderungen der RDP-Verbindung gerecht zu werden.

Öffnen Sie die Datei im Texteditor nano oder einem Editor Ihrer Wahl:

  1. sudo nano /etc/xrdp/xrdp.ini

Die Konfigurationsdatei enthält verschiedene Abschnitte:

  • Globals definiert einige globale Konfigurationseinstellungen für xrdp.
  • Logging definiert Parameter des Protokollierungssystems für Protokolle.
  • Kanäle definiert mehrere Kanalparameter, die von RDP unterstützt werden.
  • Sitzungstypen definiert mehrere von xrdp unterstützte Sitzungstypen. Jeder Sitzungstyp wird als separater Abschnitt unter seinem Sitzungstypnamen in eckigen Klammern definiert, z.B. [Xorg] und [XVnc]. Es gibt keine Überschrift [Sitzungstypen] in der Datei; stattdessen wird sie als Kommentar geschrieben.

In der Konfigurationsdatei navigieren Sie zum Abschnitt Sitzungstypen. Sie finden mehrere unterstützte Sitzungstypen und ihre Parameter aufgelistet:

Output
... ; ; Session types ; ; Some session types such as Xorg, X11rdp, and Xvnc start a display server. ; Startup command-line parameters for the display server are configured ; in sesman.ini. See and configure also sesman.ini. [Xorg] name=Xorg lib=libxup.so username=ask password=ask ip=127.0.0.1 port=-1 code=20 [Xvnc] name=Xvnc lib=libvnc.so username=ask password=ask ip=127.0.0.1 port=-1 #xserverbpp=24 #delay_ms=2000 [vnc-any] ... [neutrinordp-any] ... ...

Standardmäßig sind die Parameter Benutzername und Passwort auf ask eingestellt, was bedeutet, dass der Benutzer aufgefordert wird, Benutzername und Passwort einzugeben, um eine Verbindung über RDP herzustellen. Parameter wie Name, Benutzername und Passwort können bei Bedarf geändert werden. Für die erste RDP-Verbindung zum Server genügt die Standardkonfiguration.

Speichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.

Wechseln Sie nun in das Benutzerverzeichnis, falls Sie dort noch nicht sind:

  1. cd ~

Als nächstes erstellen Sie eine .xsession-Datei unter /home/sammy und fügen xfce4-session als Sitzungsmanager hinzu, der beim Anmelden verwendet werden soll:

  1. echo "xfce4-session" | tee .xsession

tee schreibt den ausgegebenen String "xfce4-session" in die Datei .xsession. Die obige Konfiguration stellt sicher, dass xfce4-Sitzung als Sitzungsmanager bei grafischer Anmeldungsanforderung verwendet wird. Durch die Installation von xfce als Ihre Desktop-Umgebung dient xfce4-Sitzung als Sitzungsmanager. Wenn Sie diese Informationen nicht in der Datei .xsession einschließen, wird kein Sitzungsmanager ausgewählt, und die RDP-Sitzung kann keine Verbindung zur grafischen Anzeige herstellen.

Starten Sie den xrdp-Server neu:

  1. sudo systemctl restart xrdp

Als nächstes konfigurieren Sie Ihre Firewall so, dass Remoteverbindungen von Ihrer öffentlichen IP-Adresse über Port 3389 zugelassen sind. Eine RDP-Verbindung läuft auf TCP/IP-Port 3389. Um auf den Remote-Server über RDP zuzugreifen, müssen Sie Port 3389 in Ihrer Firewall zulassen.

Suchen Sie zuerst die öffentliche IP-Adresse Ihres lokalen Computers:

  1. curl ifconfig.me

Auf Windows verwenden Sie die Windows-Befehlszeile, um diesen Befehl auszuführen.

curl sendet eine Anfrage an ifconfig.me, die Ihre öffentliche IP als Ausgabe zurückgibt:

Output
... your_local_ip

Als nächstes erlauben Sie den Zugriff auf den RDP-Port 3389 auf Ihrem Remote-Server, wobei Sie Ihre_lokale_IP durch die Ausgabe des letzten Befehls ersetzen:

  1. sudo ufw allow from your_local_ip/32 to any port 3389

Überprüfen Sie den Status Ihrer UFW-Firewall:

  1. sudo ufw status

Die Ausgabe sollte wie folgt aussehen:

Output
Status: Active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 3389 ALLOW your_local_ip OpenSSH (v6) ALLOW Anywhere (v6) ...

Sie haben jetzt den Port 3389 aktiviert, um Verbindungen von Ihrer öffentlichen IP anzunehmen. Als nächstes werden Sie die RDP-Verbindung von Ihrem lokalen Computer zum Remote-Server testen.

Schritt 4 — Testen der RDP-Verbindung

In diesem Schritt testen Sie die RDP-Verbindung von Ihrem lokalen Computer aus. Die folgenden Abschnitte enthalten Aktionen zum Testen der Verbindung auf Windows-, macOS- und Linux-Maschinen.

Testen der RDP-Verbindung unter Windows

Um die Verbindung mithilfe des Remote Desktop Connection-Clients unter Windows zu testen, starten Sie zunächst die Remote Desktop Connection-App.

Geben Sie die öffentliche IP Ihres Remote-Servers und den Benutzernamen in die ausfüllbaren Textfelder für Computer und Benutzername ein. Möglicherweise müssen Sie die nach-unten-Taste für Optionen anzeigen drücken, um den Benutzernamen einzugeben:

Drücken Sie die Verbinden-Taste. Wenn Sie eine Warnung erhalten, dass die Remotedesktopverbindung keine Verbindung zum Remote-Computer herstellen kann, überprüfen Sie, ob Sie die Remotedesktopoption in Ihren Systemeinstellungen aktiviert haben.

Drücken Sie Ja, wenn Sie den Identitätsprüfungspopup erhalten:

Dann geben Sie den Benutzernamen Ihres Remote-Servers (sammy) und das Passwort ein, das Sie für den Benutzer sammy während der anfänglichen Servereinrichtung erstellt haben. Drücken Sie OK.

Nachdem Sie sich angemeldet haben, sollten Sie Zugriff auf Ihre Ubuntu-Desktop-Umgebung haben:

Mit RDP haben Sie erfolgreich eine Verbindung zu Ihrem Remote-Ubuntu-Server von Ihrem lokalen Rechner hergestellt. Sie können es mit der Schaltfläche „Beenden“ schließen, wenn Sie Ihren grafischen Desktop nicht mehr verwenden möchten.

Testen der RDP-Verbindung unter macOS

Um die Verbindung mit dem Remote-Desktop-Verbindungsclient unter macOS zu testen, starten Sie zunächst die Microsoft Remote Desktop-Verbindungs-App.

Drücken Sie PC hinzufügen, geben Sie dann die öffentliche IP Ihres Remote-Servers in das ausfüllbare Feld ein:

Sie können Einen Benutzeraccount hinzufügen, wenn Sie die Verbindung einrichten:

Wenn Sie während der Einrichtung keinen Benutzer hinzufügen, werden Sie zur Eingabe Ihrer Benutzeranmeldeinformationen aufgefordert:

Drücken Sie Ja, um das Popup zur Identitätsprüfung zu umgehen:

Nachdem Sie sich angemeldet haben, können Sie auf Ihren Ubuntu-Remote-Desktop zugreifen. Sie können ihn mit der Schaltfläche „Beenden“ schließen, wenn Sie Ihren grafischen Desktop nicht mehr verwenden möchten.

Testen der RDP-Verbindung unter Linux

Sie benötigen einen RDP-Client, um die RDP-Verbindung auf einem lokalen Linux-Rechner zu testen. Installieren Sie zunächst den RDP-Client remmina für Ubuntu:

  1. sudo apt install remmina

Wählen Sie y, wenn Sie zur Bestätigung der Installation aufgefordert werden. Dieser Befehl installiert Remmina, einen Open-Source-Remote-Desktop-Client auf Ihrem Ubuntu-System mit apt. Für andere Linux-Distributionen können Sie die Remmina-Dokumentation zur Installation überprüfen.

Nach der Installation starten Sie die Anwendung remmina auf Ihrem lokalen Linux-Rechner und geben Sie die öffentliche IP Ihres Remote-Servers in das Eingabefeld ein. Drücken Sie Eingabe auf Ihrer Tastatur, um eine Verbindung zu Ihrem Remote-Desktop herzustellen.

Geben Sie dann den Benutzernamen Ihres Remote-Servers ein (für dieses Tutorial ist der Benutzername sammy) und das Passwort ein, das Sie für den Benutzer während der ursprünglichen Servereinrichtung erstellt haben. Drücken Sie Ok.

Sie müssen möglicherweise Ihr Benutzerpasswort erneut eingeben, um den Remote-Desktop zu entsperren.

Nachdem Sie sich angemeldet haben, sollten Sie auf Ihre Ubuntu-Desktop-Umgebung zugreifen können.

Indem Sie RDP verwenden, haben Sie erfolgreich eine Verbindung zu Ihrem entfernten Ubuntu-Server von Ihrem lokalen Gerät hergestellt. Sie können es mit der Schaltfläche „Beenden“ schließen, wenn Sie die grafische Oberfläche verwendet haben.

Nachdem Sie sichergestellt haben, dass die Remoteverbindung funktioniert, können Sie diese Sequenz immer dann verwenden, wenn Sie die grafische Benutzeroberfläche für Ihren entfernten Linux-Server benötigen.

Abschluss

In diesem Artikel haben Sie xrdp konfiguriert, um eine Verbindung zu einer grafischen Benutzeroberfläche für Ihren entfernten Ubuntu-Server über eine RDP-Verbindung von einem lokalen Gerät aus herzustellen.

Jetzt können Sie versuchen, eine VNC-Verbindung für Ihren Linux-Server zu konfigurieren, indem Sie So installieren und konfigurieren Sie VNC unter Ubuntu 20.04 befolgen. VNC ist eine weitere Option für die Remoteverbindung zu einem Linux-Desktop.

Source:
https://www.digitalocean.com/community/tutorials/how-to-enable-remote-desktop-protocol-using-xrdp-on-ubuntu-22-04