Sådan installeres VNC-server på RHEL 8


VNC (Virtual Network Computing) er en populær platform til grafisk desktop-deling, der giver dig mulighed for at få fjernadgang til, se og kontrollere andre computere over et netværk såsom Internettet.

VNC bruger Remote Frame Buffer-protokollen (RFB) og fungerer på klientserverprincippet: en server deler dens output (vncserver), og en klient (vncviewer) opretter forbindelse til serveren. Bemærk, at fjerncomputeren skal have et skrivebordsmiljø installeret.

I denne artikel vil vi forklare, hvordan du installerer og konfigurerer VNC Remote Access i den seneste udgave af RHEL 8 Desktop-udgave gennem et tigervnc-serverprogram.

  1. RHEL 8 with Minimal Installation
  2. RHEL 8 with RedHat Subscription Enabled
  3. RHEL 8 with Static IP Address

Når dit RHEL 8-system opfylder ovennævnte krav, er du klar til at konfigurere det som en VNC-server.

Trin 1: Deaktivering af Wayland Display Manager og aktivering af X.org

1. Standard Desktop Environment (DE) på RHEL 8 er GNOME, som er konfigureret til at bruge Wayland display manager som standard. Wayland er dog ikke en fjerngengivelses-API som X.org. Så du skal konfigurere dit system til at bruge X.org display manager.

Åbn GNOME Display Manager (GDM) -konfigurationsfilen ved hjælp af din foretrukne kommandolinjeditor.

# vi /etc/gdm/custom.conf

Fjern derefter kommentar fra denne linje for at tvinge login-skærmen til at bruge Xorg.

WaylandEnable=false

Gem filen, og luk den.

Trin 2: Installer VNC-server i RHEL 8

2. TigerVNC (Tiger Virtual Network Computing) er en open source, et udbredt system til grafisk desktop-deling, som giver dig mulighed for at styre andre computere eksternt.

# dnf install tigervnc-server tigervnc-server-module

3. Skift derefter til den bruger, du vil køre, og brug VNC-programmet ved at indstille brugerens VNC-serveradgangskode (som skal være mindst seks tegn), som vist.

# su - tecmint
$ vncpasswd

Skift nu tilbage til rodkontoen ved at køre exit-kommandoen.

$ exit

Trin 3 Konfigurer VNC-server i RHEL 8

4. I dette trin skal du konfigurere TigerVNC-serveren til at starte en skærm for ovenstående bruger på systemet. Start med at oprette en konfigurationsfil med navnet/etc/systemd/system/[email som følger.

# vi /etc/systemd/system/[email 

Tilføj følgende konfiguration i den (husk at udskifte tecmint med dit faktiske brugernavn).

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

[Service] 
Type=forking 
WorkingDirectory=/home/tecmint 
User=tecmint 
Group=tecmint 

PIDFile=/home/tecmint/.vnc/%H%i.pid 

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' 
ExecStart=/usr/bin/vncserver -autokill %i 
ExecStop=/usr/bin/vncserver -kill %i 

[Install] 
WantedBy=multi-user.target

Gem filen, og luk den.

Før vi går videre, skal vi kort forstå, hvordan VNC-serveren lytter til anmodninger. Som standard bruger VNC TCP-port 5900 + N, hvor N er displaynummeret. Hvis displaynummeret er 1 , kører VNC-serveren på displayportnummer 5901. Dette er den port, du skal bruge, når du opretter forbindelse til serveren, fra klienten.

Trin 4: Aktivér VNC-tjeneste i RHEL 8

5. For at starte VNC-tjenesten skal du deaktivere SELinux, der som standard håndhæver tilstand på RHEL 8.

# setenforce 0
# sed -i 's/enforcing/disabled/g' /etc/selinux/config

6. Genindlæs nu systemd manager-konfigurationen for at anvende de seneste ændringer, og start derefter VNC-tjenesten, aktiver den til automatisk start ved systemstarttid og kontroller, om den er i gang ved hjælp af følgende systemctl-kommandoer.

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

7. På dette tidspunkt er VNC-tjenesten i gang, kontroller at VNC-serveren lytter på TCP-port 5901 ved hjælp af netstat-kommandoen.

# netstat -tlnp

8. Åbn derefter port 5901 i system-firewall-tjenesten, som kører som standard, som vist. Dette giver adgang til VNC-service fra klienter.

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

Trin 5: Tilslutning til VNC-server via VNC-klient

9. Nu er det tid til at se på, hvordan du får adgang til VNC-serveren fra en klientside. VNC er som standard ikke et sikkert system, hvilket betyder, at dine forbindelser slet ikke er krypterede. Men du kan sikre forbindelser fra klienten til serveren ved hjælp af en teknik kendt som SSH-tunneling som forklaret nedenfor.

Husk, at du skal konfigurere adgangskodeløs SSH-godkendelse mellem serveren og klientmaskinen for at øge tilliden mellem de to Linux-systemer.

Derefter skal du åbne et terminalvindue på Linux-klientmaskine og køre følgende kommando for at oprette en SSH-tunnel til VNC-server (glem ikke at ændre stien til identitetsfilen (~/.ssh/rhel8) og IP-adresse (192.168. 56.110) på serveren i overensstemmelse hermed):

$ ssh -i ~/.ssh/rhel8 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.110

10. Når du har oprettet SSH-tunnelen, kan du installere vncviewer-klient såsom TigerVNC Viewer på klientmaskinen.

$ sudo apt install tigervnc-viewer         #Ubuntu/Debian
# yum install tigervnc-viewer              #CnetOS/RHEL
# yum install tigervnc-viewer              #Fedora 22+
$ sudo zypper install tigervnc-viewer      #OpenSUSE
# pacman -S tigervnc                       #Arch Linux

11. Når installationen er afsluttet, skal du køre din VNC-klient, angive adressen localhost: 5901 for at oprette forbindelse til visning 1 som følger.

$ vncviewer localhost:5901
OR
$ vncviewer 127.0.0.1:5901

Ellers søg og åbn VNC-klientprogrammet fra systemmenuen, indtast derefter adressen ovenfor, og klik derefter på Opret forbindelse som vist i følgende skærmbillede.

Hvis forbindelsen lykkes, bliver du bedt om den VNC-loginadgangskode, du oprettede tidligere i trin 2, punkt 3. Angiv den, og klik på OK for at fortsætte.

Efter en vellykket VNC-servergodkendelse, vil du blive præsenteret for den eksterne RHEL 8-system desktop interface. Klik på Enter for at få adgang til logingrænsefladen og give din adgangskode for at få adgang til skrivebordet.

I denne artikel har vi vist, hvordan du installerer og konfigurerer VNC-server på RHEL 8. Som normalt kan du stille spørgsmål via feedbackformularen nedenfor.