Hvordan installere og konfigurere VNC Server i CentOS og RHEL


I denne veiledningen forklarer vi hvordan du installerer og konfigurerer VNC Remote AccessCentOS 7/8 og RHEL 9/8/7 skrivebord utgave via tigervnc-server-programmet for å få tilgang til eksterne skrivebordsmaskiner.

VNC (Virtual Network Computing) er en server-klient-protokoll som lar brukerkontoer eksternt koble til og kontrollere et fjerntliggende system ved å bruke ressursene fra det grafiske brukergrensesnittet.

I motsetning til andre tilgjengelige VNC-servere som kobles direkte til kjøretidsskrivebordet, for eksempel VNC X eller Vino, tigervnc-vncserver > bruker en annen mekanisme som konfigurerer et frittstående virtuelt skrivebord for hver bruker.

Krav

  • Installasjon av CentOS 8 med skjermbilder
  • CentOS 7 installasjonsprosedyre
  • Hvordan installere RHEL 9 gratis
  • Hvordan installere RHEL 8 gratis
  • RHEL 7 Installasjonsprosedyre

Trinn 1: Installer og konfigurer VNC på CentOS

1. Tigervnc-server er et program som kjører en Xvnc-server og starter parallelle økter med Gnome eller andre skrivebord miljøer på VNC-skrivebordet.

En startet VNC-brukerøkt kan nås av samme bruker fra flere VNC-klienter. For å installere TigerVNC-serveren i CentOS/RHEL, åpne en terminaløkt og utfør følgende yum-kommando med root-privilegier.

sudo yum install tigervnc-server

2. Etter at du har installert programmet, logg på med brukeren du vil kjøre VNC-programmet og utfør kommandoen nedenfor i terminalen for å konfigurere en passord for VNC-serveren.

Vær oppmerksom på at passordet må være minst seks tegn langt.

su - your_user
vncpasswd

3. Deretter legger du til en VNC-tjenestekonfigurasjonsfil for brukeren din via en demon-konfigurasjonsfil plassert i systemd-katalogtreet. For å kopiere VNC-malfilen må du kjøre følgende cp-kommando med root-privilegier.

Hvis brukeren din ikke får sudo-privilegier, bytter du enten direkte til root-kontoen eller kjører kommandoen fra en konto med root-privilegier.

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

4. I neste trinn redigerer du den kopierte VNC-malkonfigurasjonsfilen fra katalogen /etc/systemd/system/ og erstatter følgende verdier for å gjenspeile brukeren din som vist i nedenfor prøve.

Verdien til 1 etter @-tegnet representerer visningsnummeret (port 5900+display). For hver startet VNC-server vil port 5900 også økes med 1.

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

Legg til følgende linjer i filen 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. Etter at du har gjort de riktige endringene i VNC-tjenestefilen, last inn systeminitialiseringsprogrammet på nytt for å hente den nye vnc-konfigurasjonsfilen og starte TigerVNC-serveren.

Sjekk også VNC-tjenestestatusen og aktiver VNC-demonen for hele systemet ved å utstede kommandoene nedenfor.

systemctl daemon-reload
systemctl start vncserver@:1
systemctl status vncserver@:1
systemctl enable vncserver@:1

6. For å vise de åpnede portene i lyttetilstanden som eies av VNC-serveren, kjør kommandoen ss, som brukes til å vise nettverkskontakter. Fordi du bare har startet én forekomst av VNC-serveren, er den første åpne porten 5901/TCP.

Igjen, ss-kommandoen må utføres med root-privilegier. I tilfelle du starter andre VNC-instanser parallelt for forskjellige brukere, vil portverdien være 5902 for den andre, 5903 for den tredje, og så videre. Portene 6000+ brukes for å la X-applikasjonene koble til VNC-serveren.

ss -tulpn| grep vnc

7. For å tillate eksterne VNC-klienter å koble til VNC-serveren, må du sørge for at de riktige åpne VNC-portene får passere gjennom brannmuren.

I tilfelle bare én forekomst av VNC-serveren startes, trenger du bare å åpne den første tildelte VNC-porten: 5901/TCP ved å utstede kommandoene nedenfor for å bruke brannmurkonfigurasjonen under kjøring.

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

Trinn 2: Koble til CentOS Desktop via VNC Client

8. Siden det er en plattformuavhengig protokoll, kan eksterne Graphical User Interface VNC-tilkoblinger utføres fra nesten alle operativsystemer med en GUI og en spesialisert VNC-klient.

En populær VNC-klient som brukes i Microsoft-baserte operativsystemer, fullt kompatibel med Linux TigerVNC-serveren, er RealVNC VNC Viewer.

For å eksternt koble til CentOS Desktop fra et Microsoft OS via VNC-protokoll, åpne VNC Viewer-programmet, legg til IP-adressen og portnummeret til CentOS VNC-serveren, og trykk på [enter]-tasten.

Etter at VNC-tilkoblingen er opprettet, skal en advarsel som sier at tilkoblingen ikke er kryptert vises på skjermen som illustrert i skjermbildene nedenfor.

9. For å omgå advarselen, trykk på Fortsett-knappen, legg til passordoppsettet for VNC-serveren ved punkt 2, og du bør være eksternt koblet til CentOS Desktop med brukeren som er konfigurert til å kjøre VNC-serverforekomsten.

10. I tilfelle en ny Autentisering-melding vises på skjermen din og brukeren din ikke har root-privilegier, trykker du bare på Avbryt-knappen for å fortsette til CentOS Desktop, som vist i skjermbildet nedenfor.

Vær oppmerksom på at den etablerte VNC-kommunikasjonen mellom serveren og klienten og alle data som utveksles (unntatt passordet) går over en ukryptert kanal. For å kryptere og sikre VPN-dataoverføringen, må du først sette opp en sikker SSH-tunnel og kjøre eventuell påfølgende VPN-trafikk over SSH-tunnelen.

11. For å eksternt koble til CentOS Desktop via VNC-protokollen fra andre CentOS Desktops, må du først sørge for at vinagre-pakken er installert på systemet ditt ved å gi kommandoen nedenfor.

sudo yum install vinagre

12. For å åpne vinagre-verktøyet, gå til Programmer -> Verktøy -> Remote Desktop Viewer som vist i skjermbildet nedenfor.

13. For å eksternt koble til en CentOS Desktop, trykk på Koble til-knappen, velg VNC-protokoll fra listen og legg til IP-adressen og port (5900+displaynummer) til den eksterne VNC-serveren. Oppgi også passordoppsettet for VNC-brukeren som illustrert i de følgende skjermbildene.

14. En annen populær VNC-klient for Linux-baserte plattformer er Remmina, en ekstern skrivebordsklient som brukes spesielt i Debian-baserte distribusjoner som kjører skrivebordsmiljøet GNOME.

For å installere Remmina Remote Desktop-klienten i Debian-baserte distros, utfør følgende kommando.

sudo apt-get install remmina

Trinn 3: Konfigurer flere VNC-økter på CentOS

15. Hvis du trenger å kjøre en ny parallell VNC-sesjon under samme bruker, åpner du en terminalkonsoll, logger på med brukeren du vil starte den nye VNC-sesjonen, og utfør kommandoen nedenfor.

Når du først starter serveren vil du bli bedt om å oppgi et nytt passord for denne økten. Vær imidlertid oppmerksom på at denne økten kjører med dine påloggede brukertillatelser og uavhengig av den startet systemd VNC-serversesjonen.

vncserver

16. De nye VNC-sesjonene vil åpne de neste tilgjengelige VNC-baserte portene (5900+3 vises i dette eksemplet). For å vise de åpnede portene, utfør ss-kommandoen uten root-privilegier som illustrert i utdraget nedenfor. Den vil kun vise de påbegynte VNC-sesjonene som brukeren din skylder.

ss -tlpn| grep Xvnc

17. Koble nå til CentOS Desktop eksternt med denne nye VNC-sesjonen, og oppgi IP:port-kombinasjonen (192.168.1.23:5903) i VNC-klienten som illustrert i bildet nedenfor.

For å stoppe VNC-serverforekomstene som ble startet med disse påloggede brukertillatelsene, utsted følgende kommando uten root-privilegier. Denne kommandoen vil ødelegge alle startete VNC-forekomster som kun eies av brukeren som oppga dem.

su - your_user
killall Xvnc

Det er alt! Du kan nå få tilgang til CentOS-systemet ditt og utføre administrative oppgaver ved å bruke det grafiske brukergrensesnittet fra operativsystemet.