VNC Server Installeren op Debian 11

Virtual Network Computing (VNC) is een protocol voor het delen van bureaubladen, waarmee je een computer op afstand kunt bedienen met de VNC client software. VNC werkt op GUI (Graphical User Interface) omgevingen, het zendt bewegingen van je muis en toetsenbordinvoer over het netwerk met behulp van het Remote Frame Buffer (RFB) protocol.

Gewoonlijk wordt VNC gebruikt door technici om client desktops te bedienen of door iemand die van thuis uit op zijn bureaublad op kantoor moet komen. VNC kan veilig gebruikt worden via het VPN netwerk of met de SSH tunneling verbinding.

In deze handleiding leer je hoe je een VNC server kunt installeren op Debian 11 Bullseye. Deze handleiding gebruikt TigerVNC pakketten om de VNC server in te schakelen, en je leert ook hoe je Desktop Environment (DE) installeert, zoals Gnome, XFCE, Mate desktops. Tenslotte leer je hoe je via een veilige SSH tunneling verbinding maakt met je VNC Server.

Vereisten

Voor je begint moet je de volgende benodigdheden hebben:

  • Een server Debian 11 Bullseye met minstens 1 GB RAM. Als je van plan bent een moderne DE te gebruiken voor je VNC server, dan heb je meer dan 1 GB RAM nodig. Je kunt een meer lichtgewicht DE gebruiken als je een server hebt met slechts 1 GB RAM.
  • Een niet-root gebruiker met root rechten. Of je kunt de root gebruiker gebruiken.

Desktop omgeving installeren

Om met de VNC server aan de slag te gaan, moet je een Desktop Environment (DE) op je systeem installeren. Op Linux zijn er verschillende DE’s beschikbaar, je kunt DE installeren zoals je verkiest. Je kunt lichtgewicht DE zoals XFCE of Mate Desktop installeren op een server met weinig middelen, of je kunt moderne DE zoals Gnome installeren op een server met veel middelen.

In dit gedeelte installeer je DE op het Debian 11 systeem. Kies uit de volgende DE: Gnome, XFCE, of Mate desktop als je voorkeur.

1. Om de bureaubladomgeving te installeren, vernieuw je eerst je pakket index door het onderstaande ‘apt’ commando uit te voeren.

sudo apt update

2. Installeer nu de DE van je voorkeur door het volgende commando uit te voeren.

Installeer XFCE Desktop met het volgende commando.

sudo apt install task-xfce-desktop dbus-x11

Als je de voorkeur geeft aan Mate desktop, installeer je die met het volgende commando.

sudo apt install task-mate-desktop dbus-x11

En voor het GNOME bureaublad kun je het onderstaande commando gebruiken.

sudo apt install task-gnome-desktop dbus-x11

Nu je DE op je systeem geïnstalleerd hebt, is de volgende stap in deze handleiding het aanmaken van een nieuwe gebruiker en het installeren van TigerVNC pakketten.

Nieuwe Linux gebruiker aanmaken

Hoewel je de root gebruiker voor je VNC server kunt gebruiken, is het om veiligheidsredenen aan te bevelen een niet-root gebruiker te gebruiken. In dit onderdeel maak je een nieuwe gebruiker aan en voegt die toe aan de‘sudo‘ groep. Hierdoor kan de gebruiker de root rechten krijgen met het commando sudo.

1. Voer het volgende commando uit om een nieuwe gebruiker toe te voegen en het wachtwoord in te stellen. In dit voorbeeld maken we een nieuwe gebruiker‘johndoe‘.

sudo useradd -m -s /bin/bash johndoe
passwd johndoe

De optie -m maakt automatisch een thuismap voor de nieuwe gebruiker. de optie‘-s /bin/bash‘ wordt gebruikt om de shell voor de nieuwe gebruiker op te geven; typ het volledige pad van de binaire shell.

Dit commando vraagt je om een wachtwoord. Voer je sterke wachtwoord in en herhaal het.

2. Voeg nu je nieuwe gebruiker toe aan de‘sudo‘ groep door het volgende commando uit te voeren. Hierdoor kan de gebruiker de root voorrechten krijgen en de toepassing uitvoeren met de root voorrechten.

sudo usermod -aG sudo johndoe

3. Log vervolgens in als je nieuwe gebruiker en controleer de sudo root privileges met het onderstaande commando.

su - johndoe
sudo su

Je wordt om het wachtwoord gevraagd. Voer je wachtwoord in en druk op ENTER. Het resultaat is dat je prompt[email protected]‘ wordt, wat betekent dat je root bent geworden.

Installeren van TigerVNC Server Debian 11

In dit deel installeer je TigerVNC pakketten en stel je VNC Server in op je Debian 11 systeem. Dit omvat het instellen van een VNC server voor een specifieke gebruiker met de bijbehorende authenticatie en het instellen van de standaard DE. De VNC Server werkt per-gebruiker, elke gebruiker heeft zijn specifieke scherm, DE configuratie, en systemd dienst.

1. Om TigerVNC pakketten te installeren, voer je het‘apt‘ commando hieronder uit.

sudo apt install tigervnc-standalone-server tigervnc-common -y

2. Je hebt nu TigerVNC pakketten geïnstalleerd. Log vervolgens in als je niet-root gebruiker, initialiseer dan de VNC Server door het volgende commando uit te voeren.

su - johndoe
vncserver

3. Je wordt gevraagd een nieuw wachtwoord voor je VNC Server te maken. Voer je wachtwoord in en herhaal het. Het wachtwoord mag niet meer dan 8 tekens bevatten, anders wordt het geweigerd.

You will require a password to access your desktops.

Password:
Verify:

4. Nu wordt je gevraagd een view-only wachtwoord te maken. Dit is handig als je je VNC Server wilt delen maar alleen ‘view-only’ toegang geeft. Voorlopig hebben we het niet nodig, typ‘n‘ voor no en druk op ENTER.

Would you like to enter a view-only password (y/n)? n

5. Nadat de initialisatie voltooid is, krijg je de volgende uitvoer. Je kunt deze uitvoer markeren‘bullseye64:1 (johndoe)‘, wat betekent dat de VNC server draait op de server‘bullseye64‘ met de weergave ‘:1‘ als de gebruiker‘johndoe‘.

New Xtigervnc server 'bullseye64:1 (johndoe)' on port 5901 for display :1.
User xtigervncviewer -SecurityTypes VncAuth -passwd /home/johndoe/.vnc/passwd :1 to connecto to the VNC server.

Initaliseren van VNC Server configuratie

XFCE instellen als de standaard desktop omgeving

Op dit punt heb je de VNC server voor je gebruiker geïnitialiseerd. Alle configuraties met betrekking tot de VNC server worden gegenereerd onder de directory‘~/.vnc’. Nu stel je de standaard DE voor je VNC server in.

1. Voordat je begint, beëindig je de VNC server weergave ‘:1‘ door het volgende commando uit te voeren.

vncserver -kill bullseye64:1

Je krijgt de uitvoer zoals hieronder.

Killing Xtigervnc process ID 1635... success!

2. Om de standaard DE voor de VNC server in te stellen, moet je het bestand ‘xstartup’ wijzigen/hercreëren in de directory ‘~/.vnc’. Dit script wordt automatisch uitgevoerd als de VNC server draait.

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
nano ~/.vnc/xstartup

3. Voer het volgende script in het bestand in. En let erop dat je het ‘startxfce4’ verandert met het commando om je DE te starten. Dit voorbeeld gebruikt de XFCE als standaard DE.

bash
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

Bewaar en sluit het bestand.

4. Maak nu het script‘xstartup‘ uitvoerbaar door het volgende commando uit te voeren.

chmod +x ~/.vnc/xstartup

Nu heb je de configuratie van de standaard DE voor je VNC server voltooid.

Gebruiker toevoegen aan TigerVNC en dienst starten

Om de TigerVNC server te laten werken, moet je je gebruiker en het weergavenummer toevoegen aan het bestand ‘/etc/tigervnc/vncserver.users’, en daarna de TigerVNC dienst starten en inschakelen.

1. Wijzig het bestand‘vncserver.users‘ met nano of een editor van je voorkeur.

sudo nano /etc/tigervnc/vncserver.users

Definieer het weergavenummer gevolgd door de gebruiker zoals hieronder. Dit voorbeeld gebruikt het weergavenummer ‘:1‘ voor de gebruiker‘johndoe‘.

:1=johndoe

Sla het bestand op en sluit het af.

2. Voer vervolgens het volgende commando uit om de TigerVNC dienst voor weergavenummer ‘:1’ te starten en in te schakelen. Als je meerdere gebruikers en VNC servers hebt, verander dan het weergavenummer voor elke gebruiker, zoals ‘:2‘, ‘:3‘, en ga zo verder.

sudo systemctl enable --now [email protected]:1.service

3. Controleer nu de status van de TigerVNC dienst door het volgende commando uit te voeren.

sudo systemctl status [email protected]:1.service

Je krijgt de uitvoer zoals de schermafdruk hieronder. De TigerVNC dienst voor beeldscherm ‘:1‘ is ‘active (running)’, en het draait met het XFCE bureaublad.

VNC Service starten voor schermnummer :1

Veilig verbinding maken met VNC Server met SSH Tunneling

Bij deze heb je de installatie van de VNC server op de Debian 11 Bullseye met TigerVNC pakketten voltooid. In dit gedeelte ga je veilig verbinding maken met je VNC server via SSH tunneling.

1. Voordat je begint, moet je zorgen dat je de VNC Viewer op je lokale computer/laptop geïnstalleerd hebt. Je kunt RealVNC Viewer gebruiken, die geïnstalleerd kan worden op Linux, Windows en macOS systemen.

2. Om nu de SSH Tunneling te starten, voer je op je lokale computer het onderstaande ssh commando uit. En let erop dat je de ‘gebruikersnaam’ en het IP adres‘192.168.1.10’ verandert met het IP adres van je VNC server.

ssh -L 5901:127.0.0.1:5901 -N -f -l username t 192.168.1.10

Opties die je moet kennen:

  • De optie ‘-L 5901:127.0.0.1:5901’ creëert het tunnelingsproces.
  • -N voorkomt dat gebruikers het commando op afstand naar de SSH server uitvoeren.
  • -f laat de ssh naar de achtergrond gaan.
  • -l gebruikersnaam specificeer je gebruikersnaam voor ssh.

Dit commando maakt een tunneling op de localhost met poort 5901 naar de server‘192.168.1.10‘ op poort‘5901‘. Nu kun je via de localhost met poort‘5901‘ verbinding maken met je VNC server.

3. Open je VNC viewer toepassing en verbind je met de‘localhost:5901‘ zoals hieronder. Je wordt nu gevraagd om het wachtwoord voor je VNC server. Voer je juiste wachtwoord in.

SSH tunneling VNC server

4. Zodra je met de VNC server verbonden bent, zie je het bureaublad van je VNC server. Hieronder zie je een screenshot van het XFCE bureaublad.

VNC server op Debian 11 met XFCE Desktop

In dit gedeelte heb je met succes veilig verbinding gemaakt met de VNC server via de SSH tunneling.

Conclusie

In deze handleiding heb je de installatie van de VNC server op Debian 11 Bullseye geleerd met behulp van TigerVNC. Ook heb je de installatie van diverse Desktop Environment op het Debian systeem geleerd, en hoe je standaard DE instelt en TigerVNC als je VNC server toepassing instelt.

Uiteindelijk heb je geleerd hoe je veilig verbinding kunt maken met je VNC server via de SSH tunneling van je lokale computer naar de VNC server.