VNC (Virtual Network Computing) stelt u in staat uw server net zo te gebruiken als uw computer - met de grafische gebruikersinterface (GUI), bureaublad, en uw muis en toetsenbord. Het maakt computergebruik eenvoudiger voor gebruikers die nieuw zijn met het werken op een server.
CloudSigma stelt u in staat om direct na het aanmaken van de server toegang te krijgen tot VNC. Daarnaast zult u in deze handleiding een VNC-server instellen op Ubuntu 18.04 en er verbinding mee maken via een beveiligde tunnel. Voor deze handleiding gebruikt u TigerVNC, een lichtgewicht en snel VNC-serverpakket. Dit zorgt voor een soepele ervaring, zelfs op trage netwerken.
Vereisten
Eerst moet u een machine aanmaken. Dit kunt u eenvoudig doen in het compute-gedeelte van de CloudSigma WebApp:

Voor deze handleiding kunt u de volgende bronnen gebruiken:
CPU: 8 GHz
RAM: 8 GB
SSD: 50 GB
U kunt de schijf koppelen met Ubuntu 18.04 LTS-image beschikbaar in de bibliotheek van CloudSigma:
Ubuntu 18.04: Vooraf geïnstalleerde 64-bits met VirtIO-stuurprogramma's, superuser, Python 2.7.17, Pip 20.0.2 OpenSSL 1.1.1d, Cloud-init en de nieuwste updates tot 2019-03-03.
Na het starten van de machine kunt u alle bestaande repositories en pakketten op de machine bijwerken door de volgende commando's uit te voeren:
|
1 2 |
sudo apt update sudo apt upgrade |
CloudSigma VNC-functie
CloudSigma biedt u een eenvoudige manier om toegang te krijgen tot uw machines via VNC.

U kunt op de schakelknop van VNC Tunnel’s klikken om deze in te schakelen. Zodra u dat doet, ziet u dit scherm.

Als u een SSH-sleutel heeft gekoppeld, moet u verbinding maken met de server en het wachtwoord wijzigen met het volgende commando:
|
1 2 3 |
ssh -i key.pem cloudsigma@IP sudo passwd cloudsigma |
Als u geen SSH-sleutel heeft gekoppeld, kunt u de bovenstaande stap overslaan. U vindt het wachtwoord in de Install Notes.
U kunt ofwel op ‘Display VNC’ klikken om het VNC-venster in de browser te openen of op ‘Display VNC URL’ om de details te zien die nodig zijn om verbinding te maken met een VNC-client. Wanneer u op ‘Display VNC’ klikt, wordt er een nieuw tabblad geopend waarin om inloggegevens wordt gevraagd. U kunt dit op dezelfde manier gebruiken als u de VM met een VNC-client zou gebruiken.

Nu zullen we de andere manier bekijken om VNC op een server te installeren.
De VNC-server installeren
De Ubuntu-image bevat standaard geen GUI-pakketten. We zullen pakketten installeren voor de nieuwste XFCE-bureaubladomgeving en het TigerVNC-pakket dat beschikbaar is in de repository van Ubuntu.
U kunt het XFCE-pakket installeren met het volgende commando:
sudo apt install xfce4 xfce4-goodies
Na de installatie van de XFCE-pakketten kunt u de TigerVNC-server installeren met het volgende commando:
|
1 |
sudo apt install tightvncserver |
Om de configuratie te voltooien, voert u het volgende commando uit en stelt u een wachtwoord in voor de VNC-verbinding:
|
1 |
vncserver |
Tijdens het uitvoeren van het bovenstaande commando wordt u gevraagd of u wilt inloggen met een alleen-lezen wachtwoord. Met een alleen-lezen wachtwoord kunt u alleen het scherm zien, maar het systeem niet gebruiken. Deze optie is relevant als u wilt dat iemand anders het scherm kan zien, maar niet kan bedienen.
Vervolgens maakt het commando alle vereiste configuraties aan. U kunt de VNC-server in dit stadium gebruiken vanaf een extern systeem of uw computer. Als onderdeel van deze handleiding zullen we onze server verder configureren voordat we deze gebruiken.
De VNC-server configureren
In dit gedeelte laten we u zien hoe u het gewenste bureaublad configureert om te gebruiken.
U moet deze commando's configureren in een bestand genaamd ‘xstartup’ in de .vnc-map van uw thuismap. Toen u het vncserver-commando de eerste keer uitvoerde, is het opstartscript aangemaakt. U zult een ander script maken om het XFCE-bureaublad te starten.
Bovendien, toen u het vncserver-commando voor de eerste keer uitvoerde, startte het een standaard serverinstantie met poort 5901. Deze poort wordt de displaypoort genoemd en wordt door VNC aangeduid als “:1”. Als u het commando opnieuw uitvoert, maakt VNC een andere instantie “:2” aan op andere poorten, enzovoort.
Aangezien u de VNC-server gaat configureren, stopt u de instanties die al draaien:
|
1 |
vncserver -kill :1 |
Maak een back-up van het originele bestand voordat u het opstartbestand wijzigt:
|
1 |
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak |
Nu kunt u het originele bestand bewerken met de vim-editor en de inhoud ervan vervangen door het volgende:
|
1 2 3 4 5 6 7 |
vim ~/.vnc/xstartup Inhoud: #!/bin/bash xrdb $HOME/.Xresources startxfce4 & |
Telkens wanneer u de vncserver start of herstart, voert het proces de opdrachten van dit bestand uit. Deze opdrachten starten de bureaubladomgeving als deze nog niet is gestart.
De eerste opdracht, “xrdb $HOME/.Xresources” vertelt het GUI-framework om de configuraties van deze locatie te lezen. U kunt verschillende instellingen van het bureaublad configureren, zoals terminalkleuren, cursorthema's, enz. De tweede opdracht start XFCE.
Om ervoor te zorgen dat de VNC-server het bestand kan uitvoeren, moet u de machtigingen ervan wijzigen:
|
1 |
sudo chmod +x ~/.vnc/xstartup |
Na het wijzigen van de machtigingen kunt u de VNC-server uitvoeren:
|
1 |
vncserver |

Nu de server gereed is, kunnen we er vanaf onze computer verbinding mee maken.
Een veilige tunnel maken voor de VNC-verbinding
Aangezien VNC geen veilige protocollen gebruikt bij het verbinden, gebruiken we SSH om een veilige verbinding te maken. We kunnen een beveiligde SSH-tunnel gebruiken om verbinding te maken met ons virtuele bureaublad.
Om een SSH-tunnel te maken die de verbinding veilig doorstuurt naar de localhost, kunt u de volgende opdracht gebruiken in de terminal of PowerShell (voor Windows):
|
1 |
ssh -L 5901:127.0.0.1:5901 -C -N -l <UserName> <ServerIP> -i <pemKey> |
In de bovenstaande opdracht,
-L: Wordt gebruikt om de poortbindingen op te geven. In dit geval sturen we poort 5901 van de server door naar poort 5901 van ons systeem
-C: Wordt gebruikt om compressie in te schakelen
-N: Wordt gebruikt om aan te geven dat er geen externe uitvoering van de opdracht vereist is
-l: Specificeert de externe inlognaam
-i: Specificeert de locatie van de sleutel

Zodra de tunnel actief is, gebruikt u een VNC-client om verbinding te maken met localhost:5901. Er zal u worden gevraagd om het wachtwoord in te vullen dat u eerder hebt ingesteld.
Zodra u verbonden bent, ziet u een scherm dat vergelijkbaar is met dit.

U kunt de SSH-tunnel stoppen door op Ctrl + C te drukken.
VNC uitvoeren als een systeemservice
U kunt VNC nu instellen als een systeemservice om deze te starten, te herstarten of de status ervan te controleren met behulp van systemd-opdrachten. Dit zorgt er ook voor dat de VNC-server opstart wanneer de server opnieuw opstart.
Maak hiervoor een nieuw unit-bestand aan – /etc/systemd/system/vncserver@.service.
|
1 |
touch /etc/systemd/system/vncserver@.service |
U zult merken dat er in de bovenstaande bestandsnaam een ‘@’-symbool staat. Hiermee kunt u een argument doorgeven dat u kunt gebruiken in de serverconfiguratie.
Voeg de volgende inhoud toe aan het bestand:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[Unit] Description=Start TightVNC server bij opstarten After=syslog.target network.target [Service] Type=forking User=<User> Group=<UserGroup> WorkingDirectory=/home/<User> PIDFile=/home/<User>/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target |
De opdracht ‘ExecStartPre’ stopt de VNC als deze al draait, terwijl de opdracht ExecStart de VNC start met een kleurdiepte van 24-bits kleur en een resolutie van 1280×800. U kunt dit bestand aanpassen aan uw behoeften.
Nu kun je de units voor systemd herladen met het volgende commando:
|
1 |
sudo systemctl daemon-reload |
Nu systemctl op de hoogte is van de nieuwe unit, kun je deze inschakelen met het commando:
|
1 |
sudo systemctl enable vncserver@1.service |
Het getal 1 achter @ geeft aan op welk displaynummer de service moet verschijnen. Voorbeeld:1, :2, enz.
Om de huidige instantie te stoppen, voer je het commando uit:
|
1 |
vncserver -kill :1 |

Nu kun je de VNC-server starten zoals je elke andere service zou starten.
|
1 |
sudo systemctl start vncserver@1 |
Om te controleren of de service actief is, voer je het commando uit:
|
1 |
sudo systemctl status vncserver@1 |
De VNC-server is nu beschikbaar wanneer je de server opnieuw opstart.
Nu je weet hoe je een VNC-server instelt, kun je je server eenvoudig beheren, net zoals het beheren van je computer.
Reacties
Nog geen reacties. Wees de eerste.