Cum se instalează și se configurează serverul VNC în CentOS și RHEL


În acest ghid, vom explica cum să instalați și să configurați VNC Remote Access pe desktop-ul CentOS 7/8 și RHEL 9/8/7 ediție prin programul tigervnc-server pentru a accesa mașinile desktop la distanță.

VNC (Virtual Network Computing) este un protocol server-client care permite conturilor de utilizator să se conecteze și să controleze de la distanță un sistem îndepărtat utilizând resursele oferite de interfața grafică cu utilizatorul.

Spre deosebire de alte servere VNC disponibile care se conectează direct la desktopul de rulare, cum ar fi VNC X sau Vino, tigervnc-vncserver > folosește un mecanism diferit care configurează un desktop virtual autonom pentru fiecare utilizator.

Cerințe

  • Instalarea CentOS 8 cu capturi de ecran
  • Procedura de instalare CentOS 7
  • Cum se instalează RHEL 9 gratuit
  • Cum se instalează RHEL 8 gratuit
  • Procedura de instalare RHEL 7

Pasul 1: Instalați și configurați VNC pe CentOS

1. Tigervnc-server este un program care execută un server Xvnc și pornește sesiuni paralele ale Gnome sau alt desktop medii de pe desktopul VNC.

O sesiune de utilizator VNC începută poate fi accesată de același utilizator de la mai mulți clienți VNC. Pentru a instala serverul TigerVNC în CentOS/RHEL, deschideți o sesiune de terminal și lansați următoarea comandă yum cu privilegii root.

sudo yum install tigervnc-server

2. După ce ați instalat programul, conectați-vă cu utilizatorul pe care doriți să rulați programul VNC și lansați comanda de mai jos în terminal pentru a configura o parola pentru serverul VNC.

Rețineți că parola trebuie să aibă cel puțin șase caractere.

su - your_user
vncpasswd

3. Apoi, adăugați un fișier de configurare a serviciului VNC pentru utilizatorul dvs. printr-un fișier de configurare demon plasat în arborele directorului systemd. Pentru a copia fișierul șablon VNC, trebuie să rulați următoarea comandă cp cu privilegii root.

Dacă utilizatorului tău nu i se acordă privilegii sudo, fie comută direct la contul root, fie rulează comanda dintr-un cont cu privilegii root.

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

4. În pasul următor, editați fișierul de configurare a șablonului VNC copiat din directorul /etc/systemd/system/ și înlocuiți următoarele valori pentru a reflecta utilizatorul, așa cum se arată în mai jos probă.

Valoarea lui 1 după semnul @ reprezintă numărul de afișare (portul 5900+display). De asemenea, pentru fiecare server VNC pornit, portul 5900 va fi incrementat cu 1.

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

Adăugați următoarele linii în fișierul 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. După ce ați făcut modificările corespunzătoare în fișierul de serviciu VNC, reîncărcați programul de inițializare a sistemului systemd pentru a prelua noul fișier de configurare vnc și a porni serverul TigerVNC.

De asemenea, verificați starea serviciului VNC și activați demonul VNC la nivelul întregului sistem, lansând comenzile de mai jos.

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

6. Pentru a lista porturile deschise în starea de ascultare deținută de serverul VNC, executați comanda ss, care este folosită pentru a afișa socket-urile de rețea. Deoarece ați pornit doar o instanță a serverului VNC, primul port deschis este 5901/TCP.

Din nou, comanda ss trebuie executată cu privilegii root. În cazul în care porniți alte instanțe VNC în paralel pentru utilizatori diferiți, valoarea portului va fi 5902 pentru a doua, 5903 pentru a treia și așa mai departe. Porturile 6000+ sunt folosite pentru a permite aplicațiilor X să se conecteze la serverul VNC.

ss -tulpn| grep vnc

7. Pentru a permite clienților externi VNC să se conecteze la serverul VNC, trebuie să vă asigurați că porturile deschise VNC adecvate au voie să treacă prin firewall.

În cazul în care este pornită doar o instanță a serverului VNC, trebuie doar să deschideți primul port VNC alocat: 5901/TCP lansând comenzile de mai jos pentru a aplica configurația firewall-ului în timpul execuției.

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

Pasul 2: Conectarea la CentOS Desktop prin VNC Client

8. Fiind un protocol independent de platformă, conexiunile Graphical User Interface VNC la distanță pot fi efectuate de pe aproape orice sistem de operare cu o interfață grafică și un client VNC specializat.

Un client VNC popular utilizat în sistemele de operare Microsoft, pe deplin compatibil cu serverul Linux TigerVNC, este RealVNC VNC Viewer.

Pentru a vă conecta de la distanță la CentOS Desktop de la un sistem de operare Microsoft prin protocolul VNC, deschideți programul VNC Viewer, adăugați adresa IP și numărul portului serverului CentOS VNC și apăsați tasta [enter].

După ce conexiunea VNC a fost stabilită, un avertisment care spune că conexiunea nu este criptată ar trebui să fie afișat pe ecran, așa cum este ilustrat în capturile de ecran de mai jos.

9. Pentru a ocoli avertismentul, apăsați pe butonul Continuați, adăugați configurarea parolei pentru serverul VNC la punctul 2 și ar trebui să fiți conectat de la distanță la CentOS Desktop cu utilizatorul configurat să ruleze instanța serverului VNC.

10. În cazul în care un nou mesaj de Autentificare apare pe ecran și utilizatorul dvs. nu are privilegii de root, apăsați butonul Anulați pentru a continua cu CentOS Desktop, așa cum se arată în captura de ecran de mai jos.

Rețineți că comunicarea VNC stabilită între server și client și orice date schimbate (cu excepția parolei) rulează pe un canal necriptat. Pentru a cripta și a securiza transferul de date VPN, mai întâi trebuie să configurați un tunel SSH securizat și să rulați orice trafic VPN ulterior prin tunelul SSH.

11. Pentru a vă conecta de la distanță la CentOS Desktop prin protocolul VNC de pe alte computere CentOS, asigurați-vă mai întâi că pachetul vinagre este instalat pe sistemul dvs. lansând comanda de mai jos.

sudo yum install vinagre

12. Pentru a deschide utilitarul vinagre, accesați Aplicații -> Utilități -> Vizualizare desktop la distanță, așa cum se arată în captura de ecran de mai jos.

13. Pentru a vă conecta de la distanță la un desktop CentOS, apăsați pe butonul Conectați, selectați protocolul VNC din listă și adăugați adresa IP și portul (5900+număr afișat) al serverului VNC la distanță. De asemenea, furnizați configurarea parolei pentru utilizatorul VNC, așa cum este ilustrat în următoarele capturi de ecran.

14. Un alt client VNC popular pentru platformele bazate pe Linux este Remmina, un client desktop la distanță care este utilizat în special în distribuțiile bazate pe Debian care rulează mediul desktop GNOME.

Pentru a instala clientul Remmina Remote Desktop în distribuțiile bazate pe Debian, lansați următoarea comandă.

sudo apt-get install remmina

Pasul 3: Configurați mai multe sesiuni VNC pe CentOS

15. În cazul în care trebuie să rulați o nouă sesiune VNC paralelă sub același utilizator, deschideți o consolă Terminal, conectați-vă cu utilizatorul cu care doriți să porniți noua sesiune VNC și executați comanda de mai jos.

Când porniți serverul pentru prima dată, vi se va cere să furnizați o nouă parolă pentru această sesiune. Cu toate acestea, rețineți că această sesiune rulează cu permisiunile de utilizator conectat și independent de sesiunea de server VNC systemd începută.

vncserver

16. Noile sesiuni VNC vor deschide următoarele porturi disponibile bazate pe VNC (5900+3 în acest exemplu). Pentru a afișa porturile deschise, executați comanda ss fără privilegii de root, așa cum este ilustrat în fragmentul de mai jos. Acesta va lista numai sesiunile VNC începute datorate de utilizatorul dvs.

ss -tlpn| grep Xvnc

17. Acum, conectați-vă de la distanță la CentOS Desktop folosind această nouă sesiune VNC și furnizați combinația IP:port (192.168.1.23:5903) în clientul VNC, așa cum este ilustrat în imaginea de mai jos.

Pentru a opri instanțele de server VNC începute cu aceste permisiuni de utilizator conectat, lansați următoarea comandă fără niciun privilegiu de root. Această comandă va distruge toate instanțele VNC pornite deținute numai de utilizatorul care le-a declarat.

su - your_user
killall Xvnc

Asta e tot! Acum puteți accesa sistemul dvs. CentOS și puteți efectua sarcini administrative utilizând interfața grafică de utilizator furnizată de sistemul de operare.