Installieren und Konfigurieren von xrdp für die Verwendung von Remotedesktop mit Ubuntu

Gilt für: ✔️ Linux-VMs ✔️ Flexible Skalierungsgruppen

Wenn Sie erst in Linux einsteigen oder schnell eine Fehlerbehandlung durchführen müssen, ist die Verwendung von Remotedesktop unter Umständen einfacher als der Zugriff auf Secure Shell (SSH). Dieser Artikel erläutert im Detail die Installation und Konfiguration von Desktopumgebung (xfce) und Remotedesktop (xrdp) für Ihre Linux-VM unter Ubuntu.

Für den Artikel wurde eine VM mit Ubuntu 18.04 verfasst und getestet.

Hinweis

Die Verwendung von Remotedesktop über das Internet führt zu einer spürbaren Verzögerung (Eingabelatenz) im Vergleich zur lokalen Desktopnutzung. Dies kann durch mehrere Faktoren beeinflusst werden, unter anderem von der lokalen Internetgeschwindigkeit und der Entfernung zum Rechenzentrum, in dem der virtuelle Computer gehostet wird. Diese Verzögerung spiegelt in der Regel nicht die Leistung der VM selbst wider.

Voraussetzungen

Für diesen Artikel ist ein vorhandener virtueller Ubuntu 18.04 LTS- oder Ubuntu 20.04 LTS-Computer in Azure erforderlich. Wenn Sie eine VM erstellen müssen, verwenden Sie eine der folgenden Methoden:

Installieren Sie eine Desktopumgebung auf Ihrem virtuellen Linux-Computer

Auf den meisten virtuellen Linux-Computern in Azure ist standardmäßig keine Desktopumgebung installiert. Linux-VMs werden in der Regel über SSH-Verbindungen anstelle einer Desktopumgebung verwaltet. Sie können jedoch verschiedene Desktopumgebungen installieren. Je nach der gewählten Desktopumgebung werden bis zu 2 GB Speicherplatz auf dem Datenträger und bis zu zehn Minuten zum Installieren und Konfigurieren aller erforderlichen Pakete benötigt.

Im folgenden Beispiel wird die schlanke XFCE4-Desktopumgebung auf einem virtuellen Ubuntu-Computer installiert. Die Befehle für andere Distributionen weichen geringfügig ab (verwenden Sie beispielsweise yum, um unter Red Hat Enterprise Linux zu installieren und passende selinux-Regeln zu konfigurieren, oder verwenden Sie zypper für die Installation unter SUSE).

Stellen Sie zuerst eine SSH-Verbindung mit Ihrer VM her. Im folgenden Beispiel wird mit dem Benutzernamen azureuser eine Verbindung mit dem virtuellen Computer namens myvm.westus.cloudapp.azure.com hergestellt. Verwenden Sie Ihre eigenen Werte:

ssh azureuser@myvm.westus.cloudapp.azure.com

Wenn Sie Windows verwenden und weitere Informationen zur Verwendung von SSH benötigen, lesen Sie Verwenden von SSH-Schlüsseln mit Windows.

Installieren Sie anschließend XFCE mithilfe von apt:

sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install xfce4
sudo apt install xfce4-session

Installieren und Konfigurieren eines Remotedesktopservers

Da Sie jetzt über eine installierte Remotedesktopumgebung verfügen, konfigurieren Sie einen Remotedesktopdienst, um nach eingehenden Verbindungen mit Remotezugriff zu lauschen. XRDP ist ein Open Source-RDP-Server (Remote Desktop Protocol), der in den meisten Linux-Distributionen verfügbar ist und gut mit XFCE funktioniert. Installieren Sie XRDP wie folgt auf Ihrem virtuellen Ubuntu-Computer:

sudo apt-get -y install xrdp
sudo systemctl enable xrdp

Unter Ubuntu 20 müssen Sie einem xrdp-Benutzer Zertifikatzugriff gewähren:

sudo adduser xrdp ssl-cert

Teilen Sie XRDP beim Starten der Sitzung die verwendete Desktopumgebung mit. Konfigurieren Sie XRDP in folgender Weise für die Verwendung von XFCE als Ihrer Desktopumgebung:

echo xfce4-session >~/.xsession

Starten Sie den XRDP-Dienst wie folgt neu, damit die Änderungen wirksam werden:

sudo service xrdp restart

Festlegen eines Kennworts für das lokale Benutzerkonto

Wenn Sie beim Erstellen des virtuellen Computers ein Kennwort für Ihr Benutzerkonto erstellt haben, überspringen Sie diesen Schritt. Wenn Sie lediglich die SSH-Schlüsselauthentifizierung verwenden und kein lokales Kontokennwort festgelegt haben, geben Sie ein Kennwort ein, bevor Sie xrdp verwenden, um sich bei Ihrer VM anzumelden. xrdp kann keine SSH-Schlüssel zur Authentifizierung akzeptieren. Im folgenden Beispiel wird ein Kennwort für das Benutzerkonto azureuser angegeben:

sudo passwd azureuser

Hinweis

Das Festlegen eines Kennworts bewirkt keine Aktualisierung Ihrer SSHD-Konfiguration für die Zulassung von Kennwortanmeldungen, wenn diese aktuell nicht zugelassen sind. Unter Sicherheitsgesichtspunkten kann es sinnvoll sein, Verbindungen mit Ihrem virtuellen Computer mithilfe eines SSH-Tunnels mit schlüsselbasierter Authentifizierung und dann erst die Verbindung mit XRDP herzustellen. In diesem Fall können Sie den folgenden Schritt zum Erstellen einer Netzwerksicherheitsgruppen-Regel zum Zulassen von Remotedesktopverkehr überspringen.

Erstellen einer Netzwerksicherheitsgruppen-Regel für den Remotedesktop-Datenverkehr

Um zuzulassen, dass Remotedesktop-Datenverkehr Ihren virtuellen Linux-Computer erreicht, muss eine Netzwerksicherheitsgruppen-Regel erstellt werden, die TCP an Port 3389 an Ihren virtuellen Computer durchlässt. Weitere Informationen zu Regeln von Netzwerksicherheitsgruppen finden Sie unter Was ist eine Netzwerksicherheitsgruppe?. Sie können auch das Azure-Portal verwenden, um eine Netzwerksicherheitsgruppen-Regel zu erstellen.

Im folgenden Beispiel wird eine Netzwerksicherheitsgruppen-Regel mit az vm open-port für Port 3389 erstellt. Öffnen Sie über die Azure CLI – nicht die SSH-Sitzung mit Ihrem virtuellen Computer – die folgende Netzwerksicherheitsgruppen-Regel:

az vm open-port --resource-group myResourceGroup --name myVM --port 3389

Herstellen einer Verbindung mit dem virtuellen Linux-Computer mithilfe eines Remotedesktopclients

Öffnen Sie Ihren lokalen Remotedesktopclient und stellen Sie eine Verbindung mit der IP-Adresse oder dem DNS-Namen Ihres virtuellen Linux-Computers her.

Screenshot: Remotedesktopclient

Geben Sie den Benutzernamen und das Kennwort des Benutzerkontos für Ihren virtuellen Computer wie folgt ein:

Screenshot: xrdp-Anmeldebildschirm

Nach der Authentifizierung wird die XFCE-Desktopumgebung geladen. Sie sieht ähnlich wie das folgende Beispiel aus:

XFCE-Desktopverbindung über XRDP

Wenn Ihr lokaler RDP-Client die Authentifizierung auf Netzwerkebene (NLA) verwendet, müssen Sie diese Verbindungseinstellung deaktivieren. NLA wird derzeit nicht von XRDP unterstützt. Sie können auch alternative RDP-Lösungen verwenden, die NLA unterstützen, wie z.B. FreeRDP.

Problembehandlung

Wenn Sie keine Verbindung mit Ihrem virtuellen Linux-Computer mithilfe eines Remotedesktopclients herstellen können, überprüfen Sie unter Verwendung von netstat auf dem virtuellen Linux-Computer, ob der virtuelle Computer nach RDP-Verbindungen lauscht, wie hier dargestellt:

sudo netstat -plnt | grep rdp

Das folgende Beispiel zeigt, dass der virtuelle Computer erwartungsgemäß an TCP-Port 3389 lauscht:

tcp     0     0      127.0.0.1:3350     0.0.0.0:*     LISTEN     53192/xrdp-sesman
tcp     0     0      0.0.0.0:3389       0.0.0.0:*     LISTEN     53188/xrdp

Wenn der Dienst xrdp-sesman nicht lauscht, starten Sie diesen auf einem virtuellen Ubuntu-Computer in folgender Weise neu:

sudo service xrdp restart

Gehen Sie die Protokolle in /var/log auf Ihrem virtuellen Ubuntu-Computer auf Hinweise durch, warum der Dienst nicht reagiert. Sie können auch während eines Verbindungsversuchs per Remotedesktop das syslog-Protokoll überwachen, um eventuelle Fehler anzuzeigen:

tail -f /var/log/syslog

Andere Linux-Distributionen, wie etwa Red Hat Enterprise Linux und SUSE, verwenden möglicherweise andere Verfahren zum erneuten Starten von Diensten sowie andere Speicherorte für die zu überprüfenden Protokolldateien.

Wenn Sie in Ihrem Remotedesktopclient keine Antwort empfangen und keine Ereignisse im Systemprotokoll finden, zeigt dieses Verhalten an, dass der Remotedesktop-Datenverkehr den virtuellen Computer nicht erreicht. Überprüfen Sie die Regeln Ihrer Netzwerksicherheitsgruppe, um sicherzustellen, dass eine Regel in Kraft ist, die TCP an Port 3389 zulässt. Weitere Informationen finden Sie unter Behandlung von Konnektivitätsproblemen mit Anwendungen.

Nächste Schritte

Weitere Informationen zum Erstellen und Verwenden von SSH-Schlüsseln mit virtuellen Linux-Computern finden Sie unter Erstellen von SSH-Schlüsseln für virtuelle Linux-Computer in Azure.

Informationen zum Verwenden von SSH unter Windows finden Sie unter Verwenden von SSH-Schlüsseln mit Windows.