Delen via


xrdp installeren en configureren voor het gebruik van Extern bureaublad met Ubuntu

Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️

Wanneer u geen toegang hebt tot Linux of voor snelle probleemoplossingsscenario's, is het gebruik van extern bureaublad mogelijk eenvoudiger dan SSH-toegang (Secure Shell). In dit artikel wordt beschreven hoe u een bureaubladomgeving (xfce) en extern bureaublad (xrdp) installeert en configureert voor uw Linux-VM waarop Ubuntu wordt uitgevoerd.

Het artikel is geschreven en getest met behulp van een Ubuntu 18.04-VM.

Notitie

Als u Extern bureaublad via internet gebruikt, leidt dit tot merkbare vertraging (invoerlatentie) in vergelijking met het lokale bureaubladgebruik. Dit kan worden beïnvloed door meerdere factoren, waaronder lokale internetsnelheid en afstand van het datacenter waar de virtuele machine wordt gehost. Deze vertraging weerspiegelt meestal niet de prestaties van de virtuele machine zelf.

Vereisten

Voor dit artikel is een bestaande Ubuntu 18.04 LTS- of Ubuntu 20.04 LTS-VM in Azure vereist. Als u een virtuele machine wilt maken, gebruikt u een van de volgende methoden:

Een bureaubladomgeving installeren op uw Linux-VM

Voor de meeste Linux-VM's in Azure is standaard geen bureaubladomgeving geïnstalleerd. Linux-VM's worden meestal beheerd met behulp van SSH-verbindingen in plaats van een bureaubladomgeving, maar er zijn verschillende bureaubladomgevingen die u kunt installeren. Afhankelijk van uw keuze voor de bureaubladomgeving verbruikt deze maximaal 2 GB schijfruimte en duurt het maximaal tien minuten om alle vereiste pakketten te installeren en te configureren.

In het volgende voorbeeld wordt de lichtgewicht xfce4-bureaubladomgeving op een Ubuntu-VM geïnstalleerd. Opdrachten voor andere distributies variëren enigszins (gebruik yum dit om te installeren op Red Hat Enterprise Linux en de juiste selinux regels te configureren, of gebruik zypper deze om bijvoorbeeld op SUSE te installeren).

SSH eerst naar uw VIRTUELE machine. In het volgende voorbeeld wordt verbinding gemaakt met de vm met de naam myvm.westus.cloudapp.azure.com met de gebruikersnaam van azureuser. Gebruik uw eigen waarden:

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

Als u Windows gebruikt en meer informatie nodig hebt over het gebruik van SSH, raadpleegt u SSH-sleutels gebruiken met Windows.

Installeer vervolgens xfce met behulp van apt :

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

Een extern bureaubladserver installeren en configureren

Nu u een bureaubladomgeving hebt geïnstalleerd, configureert u een extern bureaublad-service om te luisteren naar binnenkomende externe toegangsverbindingen. xrdp is een open source RDP-server (Remote Desktop Protocol) die beschikbaar is op de meeste Linux-distributies en goed werkt met xfce. Installeer xrdp op uw Ubuntu-VM als volgt:

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

Op Ubuntu 20 moet u certificaattoegang verlenen tot een xrdp-gebruiker:

sudo adduser xrdp ssl-cert

Vertel xrdp welke bureaubladomgeving moet worden gebruikt wanneer u uw sessie start. Configureer xrdp als volgt om xfce als uw bureaubladomgeving te gebruiken:

echo xfce4-session >~/.xsession

Start de xrdp-service opnieuw om de wijzigingen als volgt van kracht te laten worden:

sudo systemctl restart xrdp

Een wachtwoord voor een lokaal gebruikersaccount instellen

Als u een wachtwoord voor uw gebruikersaccount hebt gemaakt bij het maken van uw virtuele machine, slaat u deze stap over. Als u alleen SSH-sleutelverificatie gebruikt en geen wachtwoord voor een lokaal account hebt ingesteld, geeft u een wachtwoord op voordat u xrdp gebruikt om u aan te melden bij uw VIRTUELE machine. xrdp kan geen SSH-sleutels accepteren voor verificatie. In het volgende voorbeeld wordt een wachtwoord opgegeven voor het gebruikersaccount azureuser:

sudo passwd azureuser

Notitie

Als u een wachtwoord opgeeft, wordt uw SSHD-configuratie niet bijgewerkt om aanmeldingen met wachtwoorden toe te laten als dat momenteel niet het geval is. Vanuit beveiligingsperspectief wilt u mogelijk verbinding maken met uw VIRTUELE machine met een SSH-tunnel met behulp van verificatie op basis van sleutels en vervolgens verbinding maken met xrdp. Zo ja, sla dan de volgende stap over bij het maken van een regel voor een netwerkbeveiligingsgroep om extern bureaubladverkeer toe te staan.

Een regel voor netwerkbeveiligingsgroepen maken voor extern bureaublad-verkeer

Als u extern bureaublad-verkeer wilt toestaan om uw Virtuele Linux-machine te bereiken, moet er een regel voor netwerkbeveiligingsgroepen worden gemaakt waarmee TCP op poort 3389 uw VIRTUELE machine kan bereiken. Zie Wat is een netwerkbeveiligingsgroep ? U kunt azure Portal ook gebruiken om een regel voor netwerkbeveiligingsgroepen te maken.

In het volgende voorbeeld wordt een netwerkbeveiligingsgroepregel gemaakt met az vm open-port op poort 3389. Open vanuit de Azure CLI, niet de SSH-sessie naar uw VIRTUELE machine, de volgende regel voor netwerkbeveiligingsgroepen:

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

Uw Virtuele Linux-machine verbinden met een Extern bureaublad-client

Open uw lokale extern bureaublad-client en maak verbinding met het IP-adres of de DNS-naam van uw Linux-VM.

Schermopname van de extern bureaublad-client.

Voer als volgt de gebruikersnaam en het wachtwoord in voor het gebruikersaccount op uw virtuele machine:

Schermopname van het xrdp-aanmeldingsscherm.

Na verificatie wordt de xfce-bureaubladomgeving geladen en lijkt het op het volgende voorbeeld:

xfce-bureaubladomgeving via xrdp

Als uw lokale RDP-client gebruikmaakt van netwerkverificatie (NLA), moet u deze verbindingsinstelling mogelijk uitschakelen. XRDP biedt momenteel geen ondersteuning voor NLA. U kunt ook alternatieve RDP-oplossingen bekijken die NLA ondersteunen, zoals FreeRDP.

Problemen oplossen

Als u geen verbinding kunt maken met uw Linux-VM met behulp van een Extern bureaublad-client, gebruikt netstat u deze op uw Linux-VM om te controleren of uw VIRTUELE machine als volgt luistert naar RDP-verbindingen:

sudo netstat -plnt | grep rdp

In het volgende voorbeeld ziet u de VM die luistert op TCP-poort 3389 zoals verwacht:

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

Als de xrdp-sesman-service niet luistert, start de service op een Ubuntu-VM als volgt opnieuw op:

sudo systemctl restart xrdp

Bekijk logboeken in /var/log op uw Ubuntu-VM voor aanwijzingen waarom de service mogelijk niet reageert. U kunt de syslog ook controleren tijdens een verbinding met een extern bureaublad om eventuele fouten weer te geven:

tail -f /var/log/syslog

Andere Linux-distributies, zoals Red Hat Enterprise Linux en SUSE, kunnen verschillende manieren hebben om services opnieuw op te starten en alternatieve locaties voor logboekbestanden om te controleren.

Als u geen antwoord ontvangt in uw extern bureaublad-client en geen gebeurtenissen in het systeemlogboek ziet, geeft dit gedrag aan dat extern bureaubladverkeer de virtuele machine niet kan bereiken. Controleer de regels voor uw netwerkbeveiligingsgroep om ervoor te zorgen dat u een regel hebt om TCP toe te staan op poort 3389. Zie Problemen met toepassingsconnectiviteit oplossen voor meer informatie.

Volgende stappen

Zie SSH-sleutels maken voor Linux-VM's in Azure voor meer informatie over het maken en gebruiken van SSH-sleutels met Linux-VM's.

Zie SSH-sleutels gebruiken met Windows voor meer informatie over het gebruik van SSH vanuit Windows.