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:
- Die Azure CLI
- Das Azure-Portal
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 systemctl restart xrdp
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.
Geben Sie den Benutzernamen und das Kennwort des Benutzerkontos für Ihren virtuellen Computer wie folgt ein:
Nach der Authentifizierung wird die XFCE-Desktopumgebung geladen. Sie sieht ähnlich wie das folgende Beispiel aus:
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 systemctl restart xrdp
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.