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 udgivelse af CentOS 7 og RHEL 7 Desktop-udgave via tigervnc-serverprogram.

VNC (Virtual Network Computing) er en server-klientprotokol, der giver brugerkonti mulighed for eksternt at forbinde og styre et fjernt system ved hjælp af de ressourcer, der leveres af den grafiske brugergrænseflade.

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

  1. CentOS 7 installationsprocedure
  2. RHEL 7 Installationsprocedure

Trin 1: Installer og konfigurer VNC i CentOS 7

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

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

$ sudo yum install tigervnc-server

2. Efter at du har installeret programmet, skal du logge ind med den bruger, du vil køre VNC-programmet, og udstede kommandoen nedenfor i terminalen for at konfigurere en adgangskode til VNC-serveren.

Vær opmærksom på, at adgangskoden skal være mindst seks tegn lang.

$ 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. Tilføj derefter en VNC-servicekonfigurationsfil til din bruger via en dæmonkonfigurationsfil, der er placeret i systemd-katalogtræet. For at kopiere VNC-skabelonfilen skal du køre følgende kommando med root-rettigheder.

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

# cp /lib/systemd/system/[email   /etc/systemd/system/[email :1.service

4. Rediger på det næste trin den kopierede VNC-skabelonkonfigurationsfil fra/etc/systemd/system/directory og udskift -værdierne for at afspejle din bruger som vist i nedenstående eksempel.

Værdien af 1 efter @ -tegnet repræsenterer displaynummeret (port 5900 + display). For hver startede VNC-server forøges porten 5900 også med 1.

# vi /etc/systemd/system/[email \:1.service

Føj følgende linjer til filfilen [e-mailbeskyttet]: 1.service.

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
ExecStartPre=/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.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

5. Når du har foretaget de korrekte ændringer af VNC-servicefilen, skal du genindlæse systemd systeminitialiseringsprogram for at hente den nye vnc-konfigurationsfil og starte TigerVNC-serveren.

Kontroller også VNC-servicestatus, og aktiver VNC-dæmonen i hele systemet ved at udstede nedenstående kommandoer.

# systemctl daemon-reload
# systemctl start [email :1
# systemctl status [email :1
# systemctl enable [email :1

6. For at liste de åbnede porte i lyttetilstand, der ejes af VNC-serveren, skal du køre kommandoen ss, som bruges i CentOS 7 til at vise netværksstik. Da du kun har startet en forekomst af VNC-server, er den første åbne port 5901/TCP.

Igen skal ss-kommandoen udføres med root-rettigheder. Hvis du starter andre VNC-forekomster parallelt for forskellige brugere, vil portværdien være 5902 for den anden, 5903 for den tredje osv. Porte 6000+ bruges til at tillade X-applikationer at oprette forbindelse til VNC-serveren.

# ss -tulpn| grep vnc

7. For at tillade eksterne VNC-klienter at oprette forbindelse til VNC-serveren i CentOS, skal du sørge for, at de rigtige VNC-åbne porte får lov til at passere gennem din firewall.

Hvis kun en forekomst af VNC-server startes, behøver du kun at åbne den første tildelte VNC-port: 5901/TCP ved at udstede nedenstående kommandoer for at anvende firewallkonfigurationen ved kørsel.

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

Trin 2: Tilslutning til CentOS Desktop via VNC Client

8. At være en platformuafhængig protokol, kan fjernbetjening VNC-forbindelser til grafisk brugergrænseflade udføres fra næsten ethvert operativsystem med en GUI og en specialiseret VNC-klient.

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

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

Når VNC-forbindelsen er oprettet, skal der vises en advarsel om, at forbindelsen ikke er krypteret, på din skærm som illustreret i nedenstående skærmbilleder.

9. For at omgå advarslen skal du trykke på knappen Fortsæt, tilføje adgangskodeopsætningen til VNC-serveren ved punkt 2, og du skal være eksternt forbundet til CentOS Desktop med brugeren konfigureret til at køre VNC-serverinstansen.

10. Hvis en ny godkendelsesmeddelelse vises på din skærm, og din bruger ikke har nogen root-rettigheder, skal du bare trykke på Annuller-knappen for at fortsætte til CentOS Desktop, som vist i nedenstående skærmbillede.

Vær opmærksom på, at den etablerede VNC-kommunikation mellem serveren og klienten og alle data, der udveksles (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 enhver efterfølgende VPN-trafik over SSH-tunnelen.

11. For at oprette forbindelse til CentOS Desktop via VNC-protokol fra et andet CentOS Desktop, skal du først sørge for, at vinagre-pakken er installeret på dit system ved at udstede nedenstående kommando.

$ sudo yum install vinagre

12. For at åbne vinagre-hjælpeprogrammet skal du gå til Applikationer -> Hjælpeprogrammer -> Remote Desktop Viewer som vist i nedenstående skærmbillede.

13. For at oprette en ekstern forbindelse til et CentOS Desktop skal du trykke på Connect-knappen, vælge VNC-protokol fra listen og tilføje IP-adressen og porten (5900 + displaynummer) på den eksterne VNC-server. Angiv også adgangskodeopsætningen til VNC-brugeren som illustreret i de følgende skærmbilleder.

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

Hvis du vil installere Remmina Remote Desktop-klient i Debian-baserede distroer, skal du udstede følgende kommando.

$ sudo apt-get install remmina

Trin 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 terminalkonsol, logge ind med den bruger, du vil starte den nye VNC-session og udføre nedenstående kommando.

Når du først starter serveren, bliver du bedt om at angive en ny adgangskode til denne session. Vær dog opmærksom på, at denne session kører med dine loggede brugertilladelser og uafhængigt af den startede systemd VNC-serversession.

$ vncserver

16. De nye VNC-sessioner åbner de næste tilgængelige VNC-baserede porte (5900 + 3 vises i dette eksempel). For at få vist de åbnede porte skal du udføre ss-kommandoen uden root-rettigheder som illustreret i nedenstående uddrag. Den viser kun de startede VNC-sessioner, som din bruger skylder.

$ ss -tlpn| grep Xvnc

17. Tilslut nu eksternt til CentOS Desktop ved hjælp af denne nye VNC-session, lever IP: portkombinationen (192.168.1.23:5903) i VNC-klienten som vist i nedenstående billede.

For at stoppe de VNC-serverforekomster, der er startet med denne logget på brugerrettigheder, skal du udstede følgende kommando uden nogen root-rettigheder. Denne kommando ødelægger alle startede VNC-forekomster, der kun ejes af den bruger, der har angivet dem.

$ su - your_user
$ killall Xvnc

Det er alt! 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.