In diesem Artikel wird xRDP installiert, um einfach von Windows auf die grafische Oberfläche eines Linux Computers zuzugreifen. In diesem konkreten Beispiel wird Ubuntu 18.04 mit seinem Standarddesktop genutzt.

Übersicht in Stichpunkten

1 Installation von xRDP + Policy für Colord erstellen + Erstellen eines eigenen Zertifikates

Installation von xRDP

Die Installation und Nutzung von xRDP ist etwas anders und komplizierter als unter CentOS, da scheinbar die Installation defekt ist Unter http://c-nergy.be/blog/?p=13390 habe ich hierzu einen Workaround gefunden, der funktiniert.

Kurz Zusammengefasst muss folgendes in dieser Reihenfolge ausgeführt werden:

sudo apt-get install xserver-xorg-core
sudo apt-get install xrdp
sudo apt-get install xorgxrdp
sudo apt-get -y install xserver-xorg-input-all

Policy für Colord erstellen

Beim Anmelden an xRDP mit einem "normalen" Benutzer kommt es zumindest unter Gnome zu einem Popup mit folgendem Inhalt: "Authentication is required to create a color managed device". Sofern man sudo Rechte besitzt kann man sich hier (ggfs. mehrfach) anmelden.

Authentication Required Fenster

Es gibt aber auch eine elegantere Lösung Quelle. In aller Regel sollen auch alle Remoteuser des Systems die Rechte mit Colord zu interagieren. Hierzu muss eine Konfigurationsdatei erstellt werden.

Unter Ubuntu ist dies die Datei: /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla

[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color
ResultAny=no
ResultInactive=no
ResultActive=yes

Hiernach den Dienst polkit mit folgendem Befehl neu starten. Das lästige Anmeldefenster für Remoteuser sollte danach nicht mehr auftauchen.

systemctl restart polkit

Ab hier funktioniert die Anmeldung am System per RDP. Sollte dies nicht der Fall sein, so am Besten doch einmal das ganze System neu starten.

Remotedesktopverbindung   Remotedesktopverbindung

Das Erstellen eines Zertifikats ist optional.

Erstellen eines eigenen Zertifikates

xRDP bringt sein eigenes selbstsigniertes Zertifikat mit.

# ls -l /etc/xrdp/*.pem
-r--------. 1 root root 1082  8. Okt 07:41 /etc/xrdp/cert.pem
-r--------. 1 root root 1708  8. Okt 07:41 /etc/xrdp/key.pem

Dies ist bei Bedarf gegen ein Eigenes auszutauschen. In Unternehmen sollte dies ein, von der Unternehmens-PKI signiertes sein. Für den privaten Gebrauch reicht in der Regel ein selbstsigniertes Zertifikat.

Sollte der Rechner aus dem Internet erreichbar sein, könnte natürlich auch ein Zertifikat von Let's Encrypt genutzt werden. Dies ist aber nicht Bestandteil dieser Anleitung.

Folgende wird zuerst ein privater Schlüssel erzeugt. Dieser wird im zweiten Befehl genutzt um eine Zertifikatssignierungsanfrage (CRS) zu erstellen. Diese wird auch benötigt wenn eine Externe oder Unternehmens-PKI das Zertifikat ausstellen soll. Daher sollten die Abfragen sinnig beantwortet werden. Der dritte Befehl erstellt, falls gewünscht, dann ein 3 Jahre gültiges, selbstsigniertes Zertifikat.

Sinnvollerweise sollte hierfür ein separates Verzeichnis genommen werden!

openssl genrsa -out key.pem 2048
openssl req -new -sha256 -key key.pem -out csr.csr
openssl req -x509 -sha256 -days 1095 -key key.pem -in csr.csr -out cert.pem

Nun müssen die Dateien noch an die passende Stelle kopiert und berechtigt werden. Anschließend ist xRDP neu zu starten.

sudo chown root.root *.pem
sudo chmod 400 *.pem
sudo cp key.pem /etc/xrdp/key.pem
sudo cp cert.pem /etc/xrdp/cert.pem
sudo nano /etc/xrdp/xrdp.ini
...
certificate=/etc/xrdp/cert.pem
key_file=/etc/xrdp/key.pem
...
sudo systemctl restart xrdp