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

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

Wanneer Linux nieuw is 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

Het gebruik van Extern bureaublad via internet leidt tot merkbare 'vertraging' (invoerlatentie) in vergelijking met lokaal bureaubladgebruik. Dit kan worden beïnvloed door meerdere factoren, waaronder lokale internetsnelheid en afstand tot het datacenter waar de virtuele machine wordt gehost. Deze vertraging weerspiegelt meestal niet de prestaties van de VM 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

Op de meeste Linux-VM's in Azure is standaard geen bureaubladomgeving geïnstalleerd. Virtuele Linux-machines 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 van de bureaubladomgeving verbruikt het maximaal 2 GB schijfruimte en duurt het tot tien minuten om alle vereiste pakketten te installeren en te configureren.

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

Voer eerst SSH uit naar uw VM. In het volgende voorbeeld wordt verbinding gemaakt met de VM met de naam myvm.westus.cloudapp.azure.com met de gebruikersnaam 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 bureaublad-server installeren en configureren

Nu u een bureaubladomgeving hebt geïnstalleerd, configureert u een extern bureaublad-service om te luisteren naar binnenkomende RAS-verbindingen. 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 als volgt op uw Ubuntu-VM:

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

Op Ubuntu 20 moet u certificaattoegang verlenen aan 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 te gebruiken als uw bureaubladomgeving:

echo xfce4-session >~/.xsession

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

sudo service xrdp restart

Een wachtwoord voor een lokaal gebruikersaccount instellen

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

sudo passwd azureuser

Notitie

Als u een wachtwoord opgeeft, wordt uw SSHD-configuratie niet bijgewerkt om wachtwoordaanmelding toe te laten als dat momenteel niet het geval is. Vanuit een beveiligingsperspectief wilt u mogelijk verbinding maken met uw VM via een SSH-tunnel met behulp van verificatie op basis van sleutels en vervolgens verbinding maken met xrdp. Als dat het zo is, slaat u de volgende stap over voor het maken van een regel voor netwerkbeveiligingsgroepen om extern bureaublad-verkeer toe te staan.

Een regel voor een netwerkbeveiligingsgroep maken voor Extern bureaublad-verkeer

Als u wilt toestaan dat extern bureaublad-verkeer uw Linux-VM bereikt, moet er een regel voor netwerkbeveiligingsgroepen worden gemaakt waarmee TCP op poort 3389 uw VM kan bereiken. Zie Wat is een netwerkbeveiligingsgroep? voor meer informatie over regels voor netwerkbeveiligingsgroepen. U kunt ook de Azure Portal gebruiken om een regel voor een netwerkbeveiligingsgroep 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 VM, de volgende regel voor netwerkbeveiligingsgroepen:

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

Uw Linux-VM 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 de gebruikersnaam en het wachtwoord voor het gebruikersaccount op de VM als volgt in:

Schermopname van het xrdp-aanmeldingsscherm.

Na de verificatie wordt de xfce-bureaubladomgeving geladen en ziet deze er ongeveer uit zoals in het volgende voorbeeld:

xfce-bureaubladomgeving via xrdp

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

Problemen oplossen

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

sudo netstat -plnt | grep rdp

In het volgende voorbeeld ziet u dat de VM 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 u de service als volgt op een Ubuntu-VM opnieuw op:

sudo service xrdp restart

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

tail -f /var/log/syslog

Andere Linux-distributies, zoals Red Hat Enterprise Linux en SUSE, hebben mogelijk verschillende manieren om services opnieuw op te starten en alternatieve locaties voor logboekbestanden 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 bureaublad-verkeer de VM niet kan bereiken. Controleer de regels van uw netwerkbeveiligingsgroep om ervoor te zorgen dat u een regel hebt om TCP toe te staan op poort 3389. Zie Problemen met de 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.