Sådan installeres og konfigureres VNC Server i CentOS 7

I denne vejledning forklarer vi, hvordan du installerer og konfigurerer VNC Remote Access i den seneste udgave af CentOS 7 og RHEL 7 Desktop Edition via tigervnc-server-programmet.

VNC (Virtual Network Computing) er en server-klient-protokol, der gør det muligt for brugerkonti at oprette fjernforbindelse og styre et fjerntliggende system ved hjælp af de ressourcer, der leveres af den grafiske brugergrænseflade.

I modsætning til andre tilgængelige VNC-servere, der forbinder direkte til runtime-skrivebordet, såsom VNC X eller Vino, bruger tigervnc-vncserver en anden mekanisme, der konfigurerer et selvstændigt virtuelt skrivebord for hver bruger.

Krav

  1. CentOS 7 Installationsprocedure
  2. RHEL 7 Installationsprocedure

Stræk 1: Installer og konfigurer VNC i CentOS 7

1. Tigervnc-server er et program, der udfører en Xvnc-server og starter parallelle sessioner af Gnome eller et andet skrivebordsmiljø på VNC-skrivebordet.

En startet VNC-brugersession kan tilgås af den samme bruger fra flere VNC-klienter. For at installere TigerVNC-serveren i CentOS 7 skal du åbne en terminalsession og afgive følgende kommando med root-privilegier.

$ sudo yum install tigervnc-server

2. Når du har installeret programmet, skal du logge ind med den bruger, du ønsker at køre VNC-programmet, og afgive nedenstående kommando i terminalen for at konfigurere en adgangskode til VNC-serveren.

Vær opmærksom på, at adgangskoden skal have en længde på mindst seks tegn.

$ 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. Derefter skal du tilføje en VNC-tjenestekonfigurationsfil til din bruger via en daemonkonfigurationsfil, der er placeret i systemd-mappetræet. For at kopiere VNC-skabelonfilen skal du køre følgende kommando med root-privilegier.

Hvis din bruger ikke er tildelt med sudo-privilegier, skal du enten skifte direkte til root-kontoen eller køre kommandoen fra en konto med root-privilegier.

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

4. På det næste trin redigerer du den kopierede VNC-skabelonkonfigurationsfil fra mappen /etc/systemd/system/ og erstatter -værdierne, så de afspejler din bruger som vist i nedenstående eksempel.

Værdien 1 efter @-tegnet repræsenterer displaynummeret (port 5900+display). For hver startet VNC-server vil port 5900 også blive forøget med 1.

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

Føj følgende linjer til filen fil 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. Når du har foretaget de korrekte ændringer i VNC-tjenestefilen, skal du genindlæse systemd-systeminitialiseringsprogrammet for at hente den nye vnc-konfigurationsfil og starte TigerVNC-serveren.

Det er også muligt at kontrollere VNC-tjenestens status og aktivere VNC-dæmonen i hele systemet ved at udstede nedenstående kommandoer.

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

6. For at få vist de åbne porte i lyttende tilstand, der ejes af VNC-serveren, skal du køre kommandoen ss, som bruges i CentOS 7 til at vise netværkssoketter. Da du kun har startet én instans af VNC-serveren, er den første åbne port 5901/TCP.

Også her skal ss-kommandoen udføres med root-privilegier. Hvis du starter andre VNC-instanser parallelt for forskellige brugere, vil portværdien være 5902 for den anden, 5903 for den tredje og så videre. Portene 6000+ bruges til at give X-programmerne mulighed for at oprette forbindelse til VNC-serveren.

# ss -tulpn| grep vnc
Verify VNC Listening Ports

7. For at tillade eksterne VNC-klienter at oprette forbindelse til VNC-serveren i CentOS skal du sikre dig, at de korrekte åbne VNC-porte får lov til at passere gennem din firewall.

Hvis der kun startes én instans af VNC-serveren, behøver du kun at åbne den første tildelte VNC-port: 5901/TCP ved at udstede nedenstående kommandoer for at anvende firewallkonfigurationen på køretid.

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

Stræk 2: Oprettelse af forbindelse til CentOS-skrivebordet via VNC-klient

8. Da VNC er en platformsuafhængig protokol, kan fjernforbindelser med grafisk brugergrænseflade VNC-forbindelser udføres fra næsten alle operativsystemer med en GUI og en specialiseret VNC-klient.

En populær VNC-klient, der bruges i Microsoft-baserede operativsystemer, og som er fuldt kompatibel med Linux TigerVNC-serveren, er RealVNC VNC Viewer.

For at oprette fjernforbindelse til CentOS Desktop fra et Microsoft OS via VNC-protokollen skal du åbne VNC Viewer-programmet, tilføje IP-adressen og portnummeret på CentOS VNC-serveren og trykke på tasten.

Når VNC-forbindelsen er blevet etableret, bør en advarsel om, at forbindelsen ikke er krypteret, vises på skærmen som illustreret i nedenstående skærmbilleder.

VNC Viewer Client
VNC Viewer Client Connection

9. For at omgå advarslen skal du trykke på knappen Fortsæt, tilføje adgangskoden til VNC-serveren i punkt 2, og du bør være eksternt forbundet til CentOS Desktop med den bruger, der er konfigureret til at køre VNC-serverinstansen.

VNC Server User Password
VNC Remote CentOS Desktop

10. Hvis der vises en ny meddelelse om godkendelse på skærmen, og din bruger ikke har root-rettigheder, skal du blot trykke på knappen Annuller for at fortsætte til CentOS-skrivebordet, som vist i nedenstående skærmbillede.

VNC Server Authentication Warning

Vær opmærksom på, at den etablerede VNC-kommunikation mellem serveren og klienten og alle udvekslede data (undtagen adgangskoden) kører over en ukrypteret kanal. For at kryptere og sikre VPN-dataoverførslen skal du først konfigurere en sikker SSH-tunnel og køre al efterfølgende VPN-trafik over SSH-tunnelen.

11. For at oprette fjernforbindelse til CentOS-skrivebordet via VNC-protokollen fra et andet CentOS-skrivebord skal du først sikre dig, at vinagre-pakken er installeret på dit system ved at afgive nedenstående kommando.

$ sudo yum install vinagre

12. For at åbne vinagre-værktøjet skal du gå til Applications -> Utilities -> Remote Desktop Viewer som vist i nedenstående skærmbillede.

Open Vinagre Tool

13. For at oprette fjernforbindelse til et CentOS-skrivebord skal du trykke på knappen Connect (Forbind), vælge VNC-protokol fra listen og tilføje IP-adressen og porten (5900+visningsnummer) for den eksterne VNC-server. Angiv også adgangskoden for VNC-brugeren som illustreret i følgende skærmbilleder.

Vælg Remote Desktop Protocol
Indtast Remote VNC Details
Remote VNC CentOS Desktop

14. En anden populær VNC-klient til Linux-baserede platforme er Remmina, er en fjernskrivebordsklient, der især bruges i Debian-baserede distributioner, der kører GNOME-skrivebordsmiljøet.

For at installere Remmina fjernskrivebordsklient i Debian-baserede distributioner skal du indtaste følgende kommando.

$ sudo apt-get install remmina

Stræk 3: Konfigurer flere VNC-sessioner i CentOS 7

15. Hvis du har brug for at køre en ny parallel VNC-session under den samme bruger, skal du åbne en Terminal-konsol, logge ind med den bruger, du vil starte den nye VNC-session, og udføre nedenstående kommando.

Når du starter serveren første gang, vil du blive bedt om at angive en ny adgangskode for denne session. Du skal dog være opmærksom på, at denne session kører med din loggede brugers rettigheder og uafhængigt af den startede systemd VNC-server-session.

$ vncserver
Start ny VNC-session

16. De nye VNC-sessioner vil åbne de næste tilgængelige VNC-baserede porte (5900+3 display i dette eksempel). For at få vist de åbnede porte skal du udføre kommandoen ss uden root-privilegier som vist i nedenstående uddrag. Den vil kun vise en liste over de startede VNC-sessioner, som din bruger er ejer af.

$ ss -tlpn| grep Xvnc
List VNC Open Ports

17. Nu skal du oprette fjernforbindelse til CentOS-skrivebordet ved hjælp af denne nye VNC-session og angive IP:port-kombinationen (192.168.1.23:5903) i VNC-klienten som illustreret i nedenstående billede.

Fjernforbindelse til VNC Remote Desktop

For at stoppe de VNC-serverinstanser, der er startet med denne loggede brugers rettigheder, skal du sende følgende kommando uden root-privilegier. Denne kommando vil ødelægge alle startede VNC-instanser, som kun ejes af den bruger, der har angivet dem.

$ su - your_user$ killall Xvnc

Læs også: Fjerninstaller CentOS 7 eller RHEL 7 ved hjælp af VNC-tilstand

Det var det hele! Du kan nu få adgang til dit CentOS 7-system og udføre administrative opgaver ved hjælp af den grafiske brugergrænseflade, der leveres af operativsystemet.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.