Kako instalirati i konfigurirati VNC server u CentOS-u i RHEL-u


U ovom vodiču ćemo objasniti kako instalirati i konfigurirati VNC daljinski pristup na radnoj površini CentOS 7/8 i RHEL 9/8/7 izdanje putem tigervnc-server programa za pristup udaljenim desktop mašinama.

VNC (Virtualno mrežno računarstvo) je protokol server-klijent koji omogućava korisničkim nalozima da se daljinski povežu i kontrolišu udaljeni sistem koristeći resurse koje obezbeđuje grafički korisnički interfejs.

Za razliku od drugih dostupnih VNC servera koji se povezuju direktno na radnu površinu za vrijeme rada, kao što su VNC X ili Vino, tigervnc-vncserver koristi drugačiji mehanizam koji konfiguriše samostalnu virtuelnu radnu površinu za svakog korisnika.

Zahtjevi

  • Instalacija CentOS 8 sa snimcima ekrana
  • Procedura instalacije CentOS 7
  • Kako besplatno instalirati RHEL 9
  • Kako besplatno instalirati RHEL 8
  • RHEL 7 Procedura instalacije

Korak 1: Instalirajte i konfigurišite VNC na CentOS-u

1. Tigervnc-server je program koji izvršava Xvnc server i pokreće paralelne sesije Gnome ili drugog desktopa okruženja na VNC radnoj površini.

Započetoj VNC korisničkoj sesiji isti korisnik može pristupiti iz više VNC klijenata. Da biste instalirali TigerVNC server u CentOS/RHEL, otvorite terminalsku sesiju i izdajte sljedeću yum komandu sa root privilegijama.

sudo yum install tigervnc-server

2. Nakon što ste instalirali program, prijavite se sa korisnikom kojem želite da pokrenete VNC program i izdajte naredbu ispod u terminalu kako biste konfigurirali lozinka za VNC server.

Imajte na umu da lozinka mora imati najmanje šest znakova.

su - your_user
vncpasswd

3. Zatim dodajte VNC konfiguracijsku datoteku usluge za vašeg korisnika preko demonske konfiguracijske datoteke smještene u stablo direktorija systemd. Da biste kopirali datoteku šablona VNC potrebno je da pokrenete sljedeću cp naredbu sa root privilegijama.

Ako vašem korisniku nisu odobrene sudo privilegije, ili se prebacite direktno na root račun ili pokrenite naredbu s računa s root privilegijama.

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

4. U sljedećem koraku uredite kopiranu konfiguracijsku datoteku VNC šablona iz /etc/systemd/system/ direktorija i zamijenite sljedeće vrijednosti da odražavaju vašeg korisnika kao što je prikazano u nastavku uzorak.

Vrijednost 1 iza znaka @ predstavlja broj prikaza (port 5900+display). Također, za svaki pokrenuti VNC server, port 5900 će biti povećan za 1.

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

Dodajte sljedeće redove u datoteku 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. Nakon što izvršite ispravne promjene u VNC servisnoj datoteci, ponovo učitajte sistemski program za inicijalizaciju sistema da pokupite novi vnc konfiguracijski fajl i pokrenete TigerVNC server.

Također, provjerite status usluge VNC i omogućite VNC demon na cijelom sistemu izdavanjem naredbi ispod.

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

6. Da biste prikazali otvorene portove u stanju slušanja u vlasništvu VNC servera, pokrenite naredbu ss, koja se koristi za prikaz mrežnih utičnica. Budući da ste pokrenuli samo jednu instancu VNC servera, prvi otvoreni port je 5901/TCP.

Opet, ss komanda se mora izvršiti sa root privilegijama. U slučaju da pokrenete druge VNC instance paralelno za različite korisnike, vrijednost porta će biti 5902 za drugi, 5903 za treći, itd. Portovi 6000+ se koriste za omogućavanje X aplikacijama da se povežu na VNC server.

ss -tulpn| grep vnc

7. Da biste omogućili vanjskim VNC klijentima da se povežu na VNC server, morate osigurati da odgovarajući VNC otvoreni portovi mogu proći kroz vaš zaštitni zid.

U slučaju da je pokrenuta samo jedna instanca VNC servera, potrebno je da otvorite samo prvi dodeljeni VNC port: 5901/TCP tako što ćete izdati naredbe ispod da biste primenili konfiguraciju zaštitnog zida u toku rada.

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

Korak 2: Povezivanje na CentOS Desktop preko VNC klijenta

8. Budući da je protokol nezavisan od platforme, udaljene veze Grafičkog korisničkog interfejsa VNC mogu se izvoditi sa skoro svakog operativnog sistema sa GUI i specijalizovanim VNC klijentom.

Popularni VNC klijent koji se koristi u Microsoft-baziranim operativnim sistemima, potpuno kompatibilan sa Linux TigerVNC serverom, je RealVNC VNC Viewer.

Da biste se daljinski povezali na CentOS Desktop iz Microsoft OS-a putem VNC protokola, otvorite program VNC Viewer, dodajte IP adresu i broj porta CentOS VNC servera i pritisnite taster [enter].

Nakon što je VNC veza uspostavljena, na vašem ekranu bi trebalo da se prikaže upozorenje da veza nije šifrovana kao što je ilustrovano na snimcima ekrana ispod.

9. Da biste zaobišli upozorenje, pritisnite dugme Nastavi, dodajte podešavanje lozinke za VNC server u tački 2 i trebali biste biti udaljeni povezani na CentOS Desktop sa korisnik konfigurisan za pokretanje instance VNC servera.

10. U slučaju da se nova poruka Autentifikacije pojavi na vašem ekranu, a vaš korisnik nema root privilegije, samo pritisnite dugme Otkaži da nastavite na CentOS Desktop, kao što je prikazano na slici ispod.

Imajte na umu da se uspostavljena VNC komunikacija između servera i klijenta i svi razmijenjeni podaci (osim lozinke) odvijaju preko nešifrovanog kanala. Da biste šifrirali i osigurali VPN prijenos podataka, prvo morate postaviti siguran SSH tunel i pokrenuti svaki naredni VPN promet preko SSH tunela.

11. Da biste se daljinski povezali na CentOS Desktop preko VNC protokola sa drugih CentOS desktopa, prvo se uvjerite da je paket vinagre instaliran na vašem sistemu izdavanjem donje naredbe.

sudo yum install vinagre

12. Da otvorite vinagre uslužni program, idite na Aplikacije -> Uslužni programi -> Preglednik udaljene radne površine kao što je prikazano na slici ispod.

13. Da se daljinski povežete na CentOS radnu površinu, pritisnite dugme Poveži, odaberite VNC protokol sa liste i dodajte IP adresu i port (5900+prikaz broj) udaljenog VNC servera. Takođe, obezbedite podešavanje lozinke za VNC korisnika kao što je ilustrovano na sledećim snimcima ekrana.

14. Još jedan popularan VNC klijent za platforme zasnovane na Linuxu je Remmina, klijent udaljene radne površine koji se posebno koristi u distribucijama baziranim na Debianu koje pokreću GNOME desktop okruženje.

Da biste instalirali klijenta Remmina Remote Desktop u distribucijama zasnovanim na Debianu, izdajte sljedeću naredbu.

sudo apt-get install remmina

Korak 3: Konfigurirajte više VNC sesija na CentOS-u

15. U slučaju da trebate pokrenuti novu paralelnu VNC sesiju pod istim korisnikom, otvorite terminalsku konzolu, prijavite se sa korisnikom za kojeg želite da pokrenete novu VNC sesiju i izvršite naredbu ispod.

Kada prvi put pokrenete server od vas će se tražiti da unesete novu lozinku za ovu sesiju. Međutim, imajte na umu da se ova sesija pokreće sa dozvolama vašeg prijavljenog korisnika i nezavisno od pokrenute sesije systemd VNC servera.

vncserver

16. Nove VNC sesije će otvoriti sljedeće dostupne VNC-bazirane portove (5900+3 prikaz u ovom primjeru). Da biste prikazali otvorene portove, izvršite ss naredbu bez root privilegija kao što je ilustrovano u donjem izvodu. Navesti će samo započete VNC sesije koje duguje vaš korisnik.

ss -tlpn| grep Xvnc

17. Sada se daljinski povežite na CentOS Desktop koristeći ovu novu VNC sesiju i dostavite kombinaciju IP:port (192.168.1.23:5903) u VNC klijentu kao što je ilustrovano na donjoj slici.

Da biste zaustavili instance VNC servera pokrenute sa ovim dozvolama prijavljenih korisnika, izdajte sljedeću naredbu bez ikakvih root privilegija. Ova komanda će uništiti sve pokrenute VNC instance u vlasništvu samo korisnika koji ih je naveo.

su - your_user
killall Xvnc

To je sve! Sada možete pristupiti svom CentOS sistemu i obavljati administrativne zadatke koristeći grafički korisnički interfejs koji obezbeđuje operativni sistem.