Maybaygiare.org

Blog Network

Het installeren en configureren van een VNC-server op CentOS 7

13.07.2020

In deze handleiding zullen we bekijken hoe een VNC-server op CentOS 7 geïnstalleerd en geconfigureerd kan worden.X-besturingssysteem om externe verbindingen mogelijk te maken van alle VNC-clients, zoals TightVNC, RealVNC en anderen. In het bijzonder, zullen we dit doen met behulp van de TigerVNC Server software, een gratis tool die het mogelijk maakt het gebruik van een stand-alone virtuele desktop.

Introduction

VNC (Virtual Network Computing) is een client-server-protocol waarmee een clientcomputer (waarop een VNC-client draait) verbinding kan maken en een externe computer kan besturen (waarop een VNC-server draait). De software is ontwikkeld door Olivetti & Oracle research lab in Cambridge, Verenigd Koninkrijk, en de broncode is nog steeds up-to-date en beschikbaar onder de General Public License (GNU).

afhankelijk van de serversoftware zal de VNC-client verbinding maken met het actieve bureaublad (bijvoorbeeld als TeamViewer-of AnyDesk-programma ‘ s) of een zelfstandig virtueel bureaublad (zoals het Windows RDP remote desktop-protocol). De laatste, misschien krachtiger en veiliger, vooral als u de servercomputer moet beheren, omdat elke sessie een unieke omgeving zal zijn, geconfigureerd met de machtigingen en rechten van de verbonden gebruiker. Daarom kiezen we voor TigerVNC, dat parallelle sessies van de desktopomgeving van de computer uitvoert (GNOME, KDE, of een andere GUI): dit betekent dat een virtueel bureaublad wordt gemaakt voor elke verbinding — Dit is precies wat we willen.

TigerVNC installeren

laten we nu eens kijken hoe we TigerVNC kunnen installeren en configureren op CentOS. Het eerste wat je moet doen is het TigerVNC Server programma installeren door een terminal sessie te openen en het volgende commando in te voeren met root privileges:

$ sudo yum install tigervnc-server

onmiddellijk daarna moet je een aparte VNC Gebruiker aanmaken van waaruit de verbinding gemaakt zal worden (met een speciaal wachtwoord). Om dit te doen, voert u het volgende in::

$ sudo adduser vncuser
$ sudo passwd vncuser

belangrijk: doe dit nooit als root — gebruiker-dit vormt een ernstige bedreiging voor de beveiliging van uw systeem. De beste oplossing zou zijn om de root gebruiker zonder toegang tot VNC en het opzetten van een dedicated account met beperkte rechten.

nadat u vncuser hebt aangemaakt en een wachtwoord hebt ingesteld om in te loggen, moet u ook een uniek VNC-wachtwoord instellen voor deze gebruiker. Het commando om dit te doen is:

$ su - vncuser
$ vncpasswd

(de eerste regel kan worden weggelaten als we al vooraf ingelogd zijn als vncuser).

het volgende wat u moet doen is een VNC-configuratiebestand maken voor vncuser. De snelste manier om dit te doen is door het gedeelde VNC-sjabloonbestand in de map /lib/systemd/system/ te kopiëren en het vervolgens te wijzigen:

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

het nummer 1 dat we aan de nieuwe bestandsnaam hebben toegevoegd is het weergavenummer dat zal worden gebruikt voor deze specifieke instantie van de service. Dit is belangrijk om te weten omdat het ook de tcp-poort bepaalt die door onze VNC-server wordt gebruikt, gelijk aan 5900 + schermnummer. De eerste zal 5901 zijn, dan 5902 enzovoort.

onmiddellijk na het kopiëren moet u het nieuwe bestand bewerken met behulp van Vi, Nano of een andere teksteditor, en vervangen door de naam van de gebruiker die onlangs is aangemaakt (in ons geval, vncuser). Dit is hoe het bestand eruit moet zien na de update (behalve het lange gedeelte met commentaar aan het begin):


Description=Remote desktop service (VNC)
After=syslog.target network.target
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i -geometry 1280x720"
PIDFile=/home/vncuser/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

WantedBy=multi-user.target

zodra u dit doet, kunt u de VNC-daemon herladen en vncserver @ 1 uitvoeren met de volgende commando ‘ s:

$ systemctl daemon-reload
$ systemctl start vncserver@:1

Voordat u verdergaat, controleert u of de service wordt uitgevoerd door het invoeren van de systemctl status commando uit:

$ systemctl status vncserver@:1

en maak een symbolische koppeling, zodat het altijd draait bij het opstarten van het systeem met behulp van de volgende opdracht:

$ systemctl enable vncserver@:1

een Andere test die u kunt uitvoeren voordat u probeert verbinding te maken met de server om te kijken naar het actieve netwerk-aansluitingen met behulp van thesscommand: als alles goed werkt, moet je zien dat de VNC server werkt en tcp poort 5901 gebruikt. Voer het commando uit:

$ ss -tulpn| grep vnc

het resultaat zou als volgt moeten zijn:

tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=38344,fd=9))
tcp LISTEN 0 128 *:6001 *:* users:(("Xvnc",pid=38344,fd=6))
tcp LISTEN 0 5 :::5901 :::* users:(("Xvnc",pid=38344,fd=10))
tcp LISTEN 0 128 :::6001 :::* users:(("Xvnc",pid=38344,fd=5))

Als u dit ziet, dan is alles correct ingesteld.

Firewall setup

aangezien onze VNC-service luistert op tcp-poort 5901, moet u er zeker van zijn dat een dergelijke poort open en toegankelijk is voor externe clients. Als u een firewall hebt geïnstalleerd, moet u daarom een passende regel maken waarmee VNC-clients verbinding kunnen maken.

hoeveel poorten geopend moeten worden hangt af van hoeveel VNC-serverinstances je nodig hebt. In ons scenario deden we slechts 1, dus je hoeft alleen maar de eerste speciale VNC-poort te openen: TCP 5901, zoals we al zeiden. Het commando om deze poort op Firewalld te openen:

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

Het is niet overbodig om te vermelden dat u deze poort ook kunt beperken tot bepaalde groepen, IP-adressen, netwerkkaarten of andere eenvoudige of complexe firewallregels.

het installeren van de grafische gebruikersinterface (GUI)

als u al GNOME, KDE of andere geïnstalleerde bureaubladomgevingen hebt, kunt u deze stap overslaan. Anders moet je er een installeren: de TigerVNC server zal een parallelle instantie van deze desktop omgeving starten voor elke login sessie, wat betekent dat we minstens één GUI moeten hebben.

GNOME

Als u een geweldige, maar zwaargewicht GNOME-interface wilt, voer dan het volgende in::

$ sudo yum groupinstall "GNOME Desktop"

Xfce

Als u een lichtgewicht alternatief nodig hebt, kunnen we Xfce aanbieden, een vrije, open-source omgeving voor Unix-achtige platforms die goed werkt met TigerVNC. GNOME werkt ook geweldig, maar het is nogal resources-intensief: als je resources wilt besparen op je server machine, is Xfce misschien de beste keuze. Om het te installeren, voert u het volgende in:

$ yum install epel-release
$ yum groupinstall xfce

extra instellingen voor Xfce

Als u besluit Xfce te gebruiken, moet u ook het bestand wijzigen dat werd uitgevoerd toen de VNC-sessie begon. Om dit te doen, bewerk je het bestand / home / <gebruiker>/.vnc/xstartup en wijzig de exec regel (meestal regel 4) van etc/X11/xinit/xinitrc naar startxfce4, zoals hieronder getoond:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
vncserver -kill $DISPLAY

VNC client connection

nu alles is ingesteld, kunnen we proberen verbinding te maken met onze VNC service met behulp van een VNC client, zoals TightVNC, UltraVNC of RealVNC, en zie wat er gebeurt. Vergeet niet om tcp-poort 5901 op te geven (als u onze gids hebt gevolgd).

mogelijke problemen

als uw client geen werkende VNC-verbinding tot stand kan brengen, moet u het volgende controleren:

1. Verbindingsproblemen-firewallconfiguratie: als u pop-upfouten ziet die de client niet kan verbinden met de externe host, moet u uw netwerk-en firewallconfiguratie controleren om te controleren of er geen blokkeringsproblemen zijn waardoor de client geen verbinding kan maken met TCP-serverpoort 5901.

2. Zwart scherm met de muis-Yum bijwerken of de GUI opnieuw installeren: als u een zwart scherm ziet met een werkende muiscursor, betekent dit waarschijnlijk dat uw VNC-verbinding prima werkt, maar er is iets dat voorkomt dat de GUI het bureaublad correct start. Voor correctie:

  • voer yum update uit om de nieuwste versies van TigerVNC en de GUI zelf te installeren. Zorg ervoor dat u bijhoudt welke problemen zich voordoen tijdens de installatiefase.
  • Verwijder en installeer de GUI opnieuw met het commando yum remove / yum group remove en yum groupinstall opnieuw. Als nog steeds niets werkt, kunt u proberen een andere GUI te installeren.
19703 Claymont 2093 Philadelphia Pike # 2345, VS

+ 1 302 498-83-59

700 300

IT-GRAD NL B. V.

19703 Claymont 2093 Philadelphia Pike #2345, VS

+1 302 498-83-59

700 300

IT-GRAD NL B. V.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.