VNC-server installeren en configureren in CentOS 7

In deze handleiding leggen we uit hoe je VNC Remote Access installeert en configureert in de nieuwste versie van CentOS 7 en RHEL 7 Desktop edition via het programma tigervnc-server.

VNC (Virtual Network Computing) is een server-client protocol waarmee gebruikersaccounts op afstand verbinding kunnen maken met een systeem op afstand en dit kunnen besturen met behulp van de middelen die de grafische gebruikersinterface biedt.

In tegenstelling tot andere beschikbare VNC servers die direct verbinding maken met de runtime desktop, zoals VNC X of Vino, gebruikt tigervnc-vncserver een ander mechanisme dat een standalone virtuele desktop configureert voor elke gebruiker.

Eisen

  1. CentOS 7 Installatie Procedure
  2. RHEL 7 Installatie Procedure

Stap 1: Installeer en configureer VNC in CentOS 7

1. Tigervnc-server is een programma dat een Xvnc server uitvoert en parallelle sessies van Gnome of andere Desktop Environment start op de VNC desktop.

Een gestarte VNC gebruikerssessie kan worden benaderd door dezelfde gebruiker vanaf meerdere VNC clients. Om TigerVNC server in CentOS 7 te installeren, open een Terminal sessie en voer het volgende commando uit met root rechten.

$ sudo yum install tigervnc-server

2. Nadat u het programma heeft geinstalleerd, logt u in met de gebruiker die u wilt gebruiken voor het VNC programma en voer het onderstaande commando uit in terminal om een wachtwoord te configureren voor de VNC server.

Bedenk dat het wachtwoord minstens zes karakters lang moet zijn.

$ su - your_user # If you want to configure VNC server to run under this user directly from CLI without switching users from GUI$ vncpasswd

3. Voeg vervolgens een VNC service configuratie bestand toe voor uw gebruiker via een daemon configuratie bestand geplaatst in de systemd directory boom. Om het VNC sjabloon bestand te kopiëren moet u het volgende commando uitvoeren met root privileges.

Als uw gebruiker geen sudo privileges heeft, schakel dan direct over naar root account of voer het commando uit vanaf een account met root privileges.

# cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

4. Bewerk in de volgende stap het gekopieerde VNC sjabloon configuratie bestand uit de /etc/systemd/system/ directory en vervang de waarden om uw gebruiker weer te geven zoals in het onderstaande voorbeeld.

De waarde van 1 na het @ teken vertegenwoordigt het display nummer (poort 5900+display). Ook zal voor elke gestarte VNC server, de poort 5900 worden verhoogd met 1.

# vi /etc/systemd/system/vncserver@\:1.service

Voeg de volgende regels toe aan het bestand vncserver@:1.service.

Description=Remote desktop service (VNC)After=syslog.target network.targetType=forkingExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'ExecStart=/sbin/runuser -l my_user -c "/usr/bin/vncserver %i -geometry 1280x1024"PIDFile=/home/my_user/.vnc/%H%i.pidExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'WantedBy=multi-user.target

5. Nadat u de juiste wijzigingen in VNC service bestand hebt gemaakt, herlaad systemd systeem initialisatie programma om het nieuwe vnc configuratie bestand op te pikken en start de TigerVNC server.

Ook, controleer VNC service status en activeer de VNC daemon systeembreed door de onderstaande commando’s uit te voeren.

# systemctl daemon-reload# systemctl start vncserver@:1# systemctl status vncserver@:1# systemctl enable vncserver@:1
Start VNC-service

6. Voer het commando ss uit, dat in CentOS 7 wordt gebruikt om netwerksockets weer te geven, om een lijst te maken van de geopende poorten in luisterstatus die eigendom zijn van de VNC-server. Omdat u slechts één instantie van VNC server heeft gestart, is de eerste open poort 5901/TCP.

Ook hier geldt dat het ss commando met root rechten moet worden uitgevoerd. In het geval dat je andere VNC instanties parallel start voor verschillende gebruikers, zal de poortwaarde 5902 zijn voor de tweede, 5903 voor de derde enzovoort. De poorten 6000+ worden gebruikt om X applicaties verbinding te laten maken met de VNC server.

# ss -tulpn| grep vnc
Verify VNC Listening Ports

7. Om externe VNC-clients verbinding te laten maken met de VNC-server in CentOS, moet u ervoor zorgen dat de juiste VNC-open poorten door uw firewall worden toegestaan.

In het geval dat slechts één instantie van de VNC-server wordt gestart, hoeft u alleen de eerste toegewezen VNC-poort te openen: 5901/TCP door het uitvoeren van de onderstaande commando’s om de firewall configuratie toe te passen tijdens runtime.

# firewall-cmd --add-port=5901/tcp# firewall-cmd --add-port=5901/tcp --permanent

Step 2: Verbinding maken met CentOS Desktop via VNC Client

8. Omdat het een platform onafhankelijk protocol is, kunnen remote Graphical User Interface VNC verbindingen worden uitgevoerd vanaf bijna elk besturingssysteem met een GUI en een gespecialiseerde VNC client.

Een populaire VNC client gebruikt in Microsoft gebaseerde besturingssystemen, volledig compatibel met Linux TigerVNC server, is de RealVNC VNC Viewer.

Om op afstand verbinding te maken met CentOS Desktop vanaf een Microsoft OS via het VNC-protocol, opent u het VNC Viewer-programma, voegt u het IP-adres en het poortnummer van CentOS VNC-server en druk op de toets .

Nadat de VNC-verbinding tot stand is gebracht, wordt op het scherm een waarschuwing weergegeven dat de verbinding niet is gecodeerd, zoals te zien is in de onderstaande schermafbeeldingen.

VNC Viewer Client
VNC Viewer Client Connection

9. Om de waarschuwing te omzeilen, klikt u op Doorgaan, voegt u het wachtwoord toe dat is ingesteld voor de VNC-server bij punt 2 en zou u op afstand verbonden moeten zijn met CentOS Desktop met de gebruiker die is geconfigureerd om de VNC-serverinstantie uit te voeren.

VNC Server User Password
VNC Remote CentOS Desktop

10. Als er een nieuw authenticatiebericht op uw scherm verschijnt en uw gebruiker heeft geen root-rechten, druk dan op de knop Annuleren om verder te gaan naar de CentOS Desktop, zoals te zien is in de onderstaande schermafbeelding.

VNC Server Authentication Warning

Bedenk dat de tot stand gebrachte VNC-communicatie tussen de server en de client en alle uitgewisselde gegevens (met uitzondering van het wachtwoord) via een onversleuteld kanaal verlopen. Om de VPN-gegevensoverdracht te versleutelen en te beveiligen, moet eerst een beveiligde SSH-tunnel worden opgezet en moet al het daaropvolgende VPN-verkeer over de SSH-tunnel lopen.

11. Om op afstand verbinding te maken met CentOS Desktop via het VNC protocol vanaf een andere CentOS Desktop, moet u er eerst voor zorgen dat het vinagre pakket op uw systeem is geïnstalleerd door het onderstaande commando uit te voeren.

$ sudo yum install vinagre

12. Om het hulpprogramma vinagre te openen, gaat u naar Toepassingen -> Hulpprogramma’s -> Remote Desktop Viewer, zoals te zien is in de onderstaande schermafbeelding.

Open Vinagre hulpprogramma

13. Om op afstand verbinding te maken met een CentOS Desktop, klikt u op de knop Verbinden, selecteert u het VNC-protocol uit de lijst en voegt u het IP-adres en de poort (5900+weergavenummer) van de VNC-server op afstand toe. Geef ook het wachtwoord op dat is ingesteld voor de VNC-gebruiker, zoals wordt geïllustreerd in de volgende schermafbeeldingen.

Select Remote Desktop Protocol
Enter Remote VNC Details
Remote VNC CentOS Desktop

14. Een andere populaire VNC-client voor Linux-platforms is Remmina, een remote desktop client die met name wordt gebruikt in Debian-distributies waarop de GNOME-desktopomgeving draait.

Om Remmina Remote Desktop client in Debian-distro’s te installeren, voert u het volgende commando uit.

$ sudo apt-get install remmina

Stap 3: Meerdere VNC-sessies configureren in CentOS 7

15. In het geval dat u een nieuwe parallelle VNC-sessie onder dezelfde gebruiker wilt starten, opent u een Terminal-console, logt u in met de gebruiker waarmee u de nieuwe VNC-sessie wilt starten en voert u het onderstaande 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 wordt uitgevoerd met uw aangemelde gebruikersrechten en onafhankelijk van de gestarte systemd VNC-serversessie.

$ vncserver
Start nieuwe VNC-sessie

16. De nieuwe VNC sessies zullen de eerstvolgende beschikbare VNC gebaseerde poorten openen (5900+3 weergave in dit voorbeeld). Om de geopende poorten weer te geven, voert u het commando ss uit zonder root-privileges, zoals weergegeven in het onderstaande fragment. Alleen de gestarte VNC-sessies van uw gebruiker worden weergegeven.

$ ss -tlpn| grep Xvnc
List VNC Open Ports

17. Maak nu op afstand verbinding met CentOS Desktop met deze nieuwe VNC-sessie, geef de IP:poort-combinatie (192.168.1.23:5903) op in de VNC-client zoals te zien is in de onderstaande afbeelding.

Verbind met VNC Remote Desktop

Om de VNC-serverinstanties die zijn gestart met deze aangemelde gebruikersmachtigingen te stoppen, voert u het volgende commando uit zonder rootprivileges. Deze opdracht vernietigt alle gestarte VNC-instanties die alleen eigendom zijn van de gebruiker die ze heeft aangemaakt.

$ su - your_user$ killall Xvnc

Lees ook: Op afstand CentOS 7 of RHEL 7 installeren met behulp van VNC-modus

Dat is alles! U kunt nu toegang krijgen tot uw CentOS 7 systeem en administratieve taken uitvoeren door gebruik te maken van de grafische gebruikersinterface die door het besturingssysteem wordt geboden.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.