Kako namestiti strežnik VNC na RHEL 8


VNC (Virtual Network Computing) je priljubljena platforma za grafično skupno rabo namizja, ki vam omogoča oddaljen dostop, ogled in nadzor drugih računalnikov prek omrežja, kot je internet.

VNC uporablja protokol Remote Frame Buffer (RFB) in deluje po principu odjemalec-strežnik: strežnik si deli izhodne podatke (vncserver) in odjemalec (vncviewer) se poveže s strežnikom. Upoštevajte, da mora imeti oddaljeni računalnik nameščeno namizno okolje.

V tem članku bomo razložili, kako namestiti in konfigurirati oddaljeni dostop VNC v najnovejši izdaji izdaje RHEL 8 Desktop prek programa tigervnc-server.

  1. RHEL 8 z minimalno namestitvijo
  2. RHEL 8 z omogočeno naročnino na RedHat
  3. RHEL 8 s statičnim naslovom IP

Ko vaš sistem RHEL 8 izpolni zgoraj naštete zahteve, ste ga pripravljeni nastaviti kot strežnik VNC.

1. korak: Onemogočite Wayland Display Manager in omogočite X.org

1. Privzeto namizno okolje (DE) na RHEL 8 je GNOME, ki je privzeto konfiguriran za uporabo upravitelja zaslona Wayland. Vendar Wayland ni API za oddaljeno upodabljanje, kot je X.org. Torej morate svoj sistem konfigurirati za uporabo upravitelja zaslona X.org.

Z najljubšim urejevalnikom ukazne vrstice odprite konfiguracijsko datoteko GNOME Display Manager (GDM).

# vi /etc/gdm/custom.conf

Nato razkomentirajte to vrstico, da prisilite prijavni zaslon k uporabi Xorg.

WaylandEnable=false

Datoteko shranite in zaprite.

2. korak: Namestite strežnik VNC v RHEL 8

2. TigerVNC (Tiger Virtual Network Computing) je odprtokodni sistem, ki se pogosto uporablja za grafično skupno rabo namizja in vam omogoča daljinsko upravljanje drugih računalnikov.

# dnf install tigervnc-server tigervnc-server-module

3. Nato preklopite na uporabnika, ki ga želite zagnati, in uporabite program VNC, tako da nastavite uporabniško geslo za strežnik VNC (ki mora biti vsaj šest znakov), kot je prikazano.

# su - tecmint
$ vncpasswd

Zdaj preklopite nazaj na korenski račun tako, da zaženete ukaz za izhod.

$ exit

Korak 3 Konfigurirajte strežnik VNC v RHEL 8

4. V tem koraku morate konfigurirati strežnik TigerVNC, da začne prikazovati zgornjega uporabnika v sistemu. Začnite z ustvarjanjem konfiguracijske datoteke z imenom/etc/systemd/system/[email , kot sledi.

# vi /etc/systemd/system/[email 

Vanjo dodajte naslednjo konfiguracijo (ne pozabite zamenjati tecminta z vašim dejanskim uporabniškim imenom).

[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

Datoteko shranite in zaprite.

Preden nadaljujemo, na kratko razumemo, kako strežnik VNC posluša zahteve. VNC privzeto uporablja vrata TCP 5900 + N, kjer je N številka zaslona. Če je številka zaslona 1 , se strežnik VNC zažene na številki vrat zaslona 5901. To so vrata, ki jih morate uporabiti med povezovanjem s strežnikom iz odjemalca.

4. korak: Omogočite storitev VNC v RHEL 8

5. Če želite zagnati storitev VNC, morate onemogočiti SELinux, ki je v RHEL 8 privzeto uveljavljen.

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

6. Zdaj znova naložite konfiguracijo sistemskega upravitelja, da uveljavite nedavne spremembe, nato zaženite storitev VNC, omogočite samodejni zagon ob zagonu sistema in z naslednjimi ukazi systemctl preverite, ali deluje.

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

7. Na tej točki storitev VNC deluje in deluje, z ukazom netstat preverite, ali strežnik VNC posluša na vratih TCP 5901.

# netstat -tlnp

8. Nato odprite vrata 5901 v sistemskem požarnem zidu, ki se privzeto izvaja, kot je prikazano. To strankam omogoča dostop do storitve VNC.

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

5. korak: Povezava s strežnikom VNC prek odjemalca VNC

9. Zdaj je čas, da preučimo, kako dostopati do strežnika VNC s strani odjemalca. VNC privzeto ni varen sistem, kar pomeni, da vaše povezave sploh niso šifrirane. Lahko pa zaščitite povezave med odjemalcem in strežnikom s tehniko, imenovano SSH tuneliranje, kot je razloženo spodaj.

Ne pozabite, da morate za povečanje zaupanja med obema sistemoma Linux konfigurirati overjanje SSH brez gesla med strežnikom in odjemalskim računalnikom.

Nato na odjemalskem računalniku Linux odprite terminalsko okno in zaženite naslednji ukaz, da ustvarite tunel SSH do strežnika VNC (ne pozabite spremeniti poti do datoteke identitete (~/.ssh/rhel8) in naslova IP (192.168. 56.110) strežnika):

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

10. Po izdelavi tunela SSH lahko na odjemalski računalnik namestite odjemalca vncviewer, kot je TigerVNC Viewer.

$ 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. Ko je namestitev končana, zaženite odjemalca VNC, navedite naslov localhost: 5901 , da se povežete z zaslonom 1 , kot sledi.

$ vncviewer localhost:5901
OR
$ vncviewer 127.0.0.1:5901

V nasprotnem primeru poiščite in odprite odjemalski program VNC v sistemskem meniju, nato vnesite naslov zgoraj in kliknite Poveži, kot je prikazano na naslednjem posnetku zaslona.

Če je povezava uspešna, boste pozvani k prijavnemu geslu VNC, ustvarjenemu prej v koraku 2, točka 3. Vnesite ga in za nadaljevanje kliknite V redu.

Po uspešni avtentikaciji strežnika VNC boste prejeli oddaljeni namizni vmesnik sistema RHEL 8. Kliknite Enter za dostop do vmesnika za prijavo in vnos gesla za dostop do namizja.

V tem članku smo prikazali, kako namestiti in konfigurirati strežnik VNC na RHEL 8. Kot ponavadi lahko vprašanja postavljate prek spodnjega obrazca za povratne informacije.