In deze handleiding leggen we uit hoe u VNC Remote Access installeert en configureert in CentOS 7/8 en RHEL 9/8/7 desktop-editie via het tigervnc-server programma om toegang te krijgen tot externe desktopmachines.
VNC ( Virtual Network Computing ) is een server-clientprotocol dat gebruikersaccounts toestaat om op afstand verbinding te maken en een verre systeem te besturen met behulp van de middelen die worden geleverd door de Graphical User Interface.
In tegenstelling tot andere VNC servers die beschikbaar zijn en direct verbinding maken met het runtime-desktop, zoals VNC X of Vino, gebruikt tigervnc-vncserver een ander mechanisme dat een standalone virtuele desktop voor elke gebruiker configureert.
Vereisten
- Installatie van CentOS 8 met schermafbeeldingen
- Installatieprocedure van CentOS 7
- Hoe RHEL 9 gratis te installeren
- Hoe te installeren RHEL 8 gratis
- Installatieprocedure RHEL 7
Stap 1: Installeer en configureer VNC op CentOS
1. Tigervnc-server is een programma dat een Xvnc server uitvoert en parallelle sessies van Gnome of andere bureaubladomgevingen op het VNC-bureaublad start.
A started VNC user session can be accessed by the same user from multiple VNC clients. In order to install the TigerVNC server in CentOS/RHEL, open a terminal session and issue the following yum command with root privileges.
$ sudo yum install tigervnc-server

2. Nadat u het programma hebt geïnstalleerd, meldt u zich aan met de gebruiker waarvoor u het VNC programma wilt uitvoeren en voert u de onderstaande opdracht in de terminal uit om een wachtwoord voor de VNC-server te configureren.
Houd er rekening mee dat het wachtwoord minstens zes tekens lang moet zijn.
$ su - your_user $ vncpasswd

3. Voeg vervolgens een VNC serviceconfiguratiebestand voor uw gebruiker toe via een daemonconfiguratiebestand dat zich in de systemd directoryboom bevindt. Om het VNC sjabloonbestand te kopiëren, moet u de volgende cp-opdracht met rootrechten uitvoeren.
Als uw gebruiker geen sudo-rechten heeft, kunt u rechtstreeks overschakelen naar het root-account of de opdracht uitvoeren vanuit een account met root-rechten.
# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service
4. In de volgende stap bewerkt u het gekopieerde VNC-sjabloonconfiguratiebestand uit de /etc/systemd/system/ directory en vervangt u de volgende waarden om uw gebruiker weer te geven zoals weergegeven in het onderstaande voorbeeld.
De waarde van 1
na @
vertegenwoordigt het weergavenummer (poort 5900+display
). Ook zal voor elke gestarte VNC-server de poort 5900 met 1 worden verhoogd.
# vi /etc/systemd/system/vncserver@\:1.service
Voeg de volgende regels toe aan het bestand vncserver@:1.service.
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=tecmint Group=tecmint WorkingDirectory=/home/tecmint ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/usr/bin/vncserver %i -geometry 1280x1024 PIDFile=/home/tecmint/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' [Install] WantedBy=multi-user.target

5. Nadat u de juiste wijzigingen hebt aangebracht in het VNC-servicebestand, laadt u het systemd-systeeminitialisatieprogramma opnieuw om het nieuwe VNC-configuratiebestand op te halen en start u de TigerVNC server.
Bekijk ook de VNC service status en schakel de VNC-daemon system-wide in door de onderstaande opdrachten uit te geven.
# systemctl daemon-reload # systemctl start vncserver@:1 # systemctl status vncserver@:1 # systemctl enable vncserver@:1

6. Om de geopende poorten in de luisterstaat die toebehoren aan de VNC-server te vermelden, voer de ss-opdracht uit, die wordt gebruikt om netwerksockets weer te geven. Omdat u slechts één instantie van de VNC-server hebt gestart, is de eerste geopende poort 5901/TCP.
Nogmaals, de ss-opdracht moet worden uitgevoerd met root-rechten. Als u andere VNC-instanties parallel start voor verschillende gebruikers, is de poortwaarde 5902 voor de tweede, 5903 voor de derde, enzovoort. De poorten 6000+ worden gebruikt om X-toepassingen toe te staan verbinding te maken met de VNC-server.
# ss -tulpn| grep vnc

7. Om extern VNC-clients toe te staan verbinding te maken met de VNC-server, moet u ervoor zorgen dat de juiste VNC-poorten door uw firewall worden doorgelaten.
Als er slechts één instantie van de VNC-server is gestart, hoeft u alleen de eerste toegewezen VNC-poort te openen: 5901/TCP door de onderstaande opdrachten uit te geven om de firewallconfiguratie op het moment zelf toe te passen.
# firewall-cmd --add-port=5901/tcp # firewall-cmd --add-port=5901/tcp --permanent
Stap 2: Verbinding maken met CentOS-desktop via VNC-client
8. Als een platformonafhankelijk protocol kunnen externe Grafische Gebruikersinterface VNC verbindingen uitgevoerd worden vanaf bijna elke besturingssysteem met een GUI en een speciaal VNC-client.
A popular VNC client used in Microsoft-based operating systems, fully compatible with Linux TigerVNC server, is the RealVNC VNC Viewer.
Om vanaf een Microsoft-OS te kunnen verbinden met CentOS Desktop via het VNC-protocol, open het VNC Viewer programma, voeg het IP-adres en poortnummer van de CentOS VNC-server toe en druk op de [enter] toets.
Nadat de VNC-verbinding is gemaakt, wordt er een waarschuwing weergegeven dat de verbinding niet is versleuteld, zoals te zien is in de onderstaande screenshots.


9. Om de waarschuwing te omzeilen, klik op de Continue knop, voeg het wachtwoord in dat is ingesteld voor de VNC-server op punt 2 en je zou nu op afstand verbonden moeten zijn met CentOS Desktop met het gebruikersaccount dat is geconfigureerd om de VNC-serverinstantie te draaien.


10. Als er een nieuwe Authenticatie melding op je scherm verschijnt en je gebruiker geen root-rechten heeft, klik dan gewoon op de Annuleren knop om door te gaan naar CentOS Desktop, zoals te zien is in de onderstaande screenshot.

Houd er rekening mee dat de gemaakte VNC-communicatie tussen de server en de client en alle uitgewisselde gegevens (behalve het wachtwoord) plaatsvinden via een onversleutelde kanaal. Om de VPN-gegevensoverdracht te versleutelen en te beveiligen, moet je eerst een beveiligde SSH-tunnel instellen en vervolgens alle volgende VPN verkeer via de SSH-tunnel laten verlopen.
11. Om op afstand te verbinden met CentOS Desktop via het VNC-protocol vanaf andere CentOS Desktops, moet je eerst ervoor zorgen dat het vinagre pakket is geïnstalleerd op je systeem door het onderstaande commando uit te voeren.
$ sudo yum install vinagre
12. Om het vinagre hulpprogramma te openen, ga naar Toepassingen -> Gereedschappen -> Remote Desktop Viewer zoals weergegeven in de onderstaande schermafbeelding.

13. Om een CentOS Desktop op afstand te verbinden, klik op de Connect knop, selecteer het VNC protocol uit de lijst en voeg het IP-adres en poortnummer (5900 + display nummer) van de externe VNC-server toe. Voer ook het wachtwoord in dat is ingesteld voor de VNC-gebruiker, zoals weergegeven in de volgende schermafbeeldingen.



14. Een andere populaire VNC-client voor Linux-gebaseerde platforms is Remmina, een remote desktop-client die vooral wordt gebruikt in Debian-gebaseerde distributies die werken met het GNOME-desktopomgeving.
Om de Remmina Remote Desktop client te installeren in Debian-gebaseerde distributies, voer het volgende commando uit.
$ sudo apt-get install remmina
Stap 3: Meerdere VNC-sessies configureren op CentOS
15. Als u een nieuwe parallelle VNC-sessie onder dezelfde gebruiker wilt uitvoeren, open een Terminal-console, log in met de gebruiker waarvoor u de nieuwe VNC-sessie wilt starten en voer het volgende commando uit.
Wanneer u de server voor het eerst start, wordt u gevraagd een nieuw wachtwoord voor deze sessie op te geven. Houd er echter rekening mee dat deze sessie met de ingelogde gebruikersrechten draait en onafhankelijk is van de gestarte systemd VNC-server sessie.
$ vncserver

16. De nieuwe VNC-sessies zullen de volgende beschikbare VNC-gebaseerde poorten openen (5900+3 display in dit voorbeeld). Om de geopende poorten weer te geven, voert u het ss-commando uit zonder rootrechten, zoals geïllustreerd in onderstaand fragment. Het zal alleen de gestarte VNC-sessies van uw gebruiker vermelden.
$ ss -tlpn| grep Xvnc

17. Verbind nu op afstand met CentOS Desktop met behulp van deze nieuwe VNC-sessie en lever de IP:poort combinatie (192.168.1.23:5903) in aan de VNC-client, zoals geïllustreerd in de onderstaande afbeelding.

Om de VNC-serverinstanties te stoppen die zijn gestart met deze ingelogde gebruikersmachtigingen, geeft u het volgende commando uit zonder enige rootrechten. Dit commando zal alle gestarte VNC-instanties vernietigen die alleen eigendom zijn van de gebruiker die ze heeft gestart.
$ su - your_user $ killall Xvnc
Dat is alles! U kunt nu toegang krijgen tot uw CentOS-systeem en administratieve taken uitvoeren met behulp van de grafische gebruikersinterface die wordt geleverd door het besturingssysteem.
Source:
https://www.tecmint.com/install-and-configure-vnc-server-in-centos-7/