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

În acest ghid vom explica cum se instalează și se configurează accesul la distanță VNC în cea mai recentă versiune a CentOS 7 și RHEL 7 Desktop edition prin intermediul programului tigervnc-server.

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

Dincolo de alte servere VNC disponibile care se conectează direct la desktop-ul de execuție, cum ar fi VNC X sau Vino, tigervnc-vncserver folosește un mecanism diferit care configurează un desktop virtual de sine stătător pentru fiecare utilizator.

Cerințe necesare

  1. Procedură de instalare CentOS 7
  2. Procedură de instalare RHEL 7

Pasul 1: Instalarea și configurarea VNC în CentOS 7

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

O sesiune de utilizator VNC pornită poate fi accesată de același utilizator de la mai mulți clienți VNC. Pentru a instala serverul TigerVNC în CentOS 7, deschideți o sesiune Terminal și emiteți următoarea comandă cu privilegii de root.

$ sudo yum install tigervnc-server

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

Atenție, parola trebuie să aibă o lungime de cel puțin șase caractere.

$ su - your_user # If you want to configure VNC server to run under this user directly from CLI without switching users from GUI$ vncpasswd

3. În continuare, adăugați un fișier de configurare a serviciului VNC pentru utilizatorul dvs. prin intermediul unui fișier de configurare a daemonului plasat în arborele de directoare systemd. Pentru a copia fișierul șablon VNC, trebuie să rulați următoarea comandă cu privilegii de root.

Dacă utilizatorului dvs. nu i se acordă privilegii sudo, fie treceți direct în contul de root, fie rulați comanda dintr-un cont cu privilegii de root.

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

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

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

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

Adaugați următoarele linii la fișierul vncserver@:1.service.

Description=Remote desktop service (VNC)After=syslog.target network.targetType=forkingExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'ExecStart=/sbin/runuser -l my_user -c "/usr/bin/vncserver %i -geometry 1280x1024"PIDFile=/home/my_user/.vnc/%H%i.pidExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'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 pentru a porni serverul TigerVNC.

De asemenea, verificați starea serviciului VNC și activați daimonul VNC la nivelul întregului sistem prin emiterea comenzilor de mai jos.

# systemctl daemon-reload# systemctl start vncserver@:1# systemctl status vncserver@:1# systemctl enable vncserver@:1
Start VNC Service

6. Pentru a lista porturile deschise în stare de ascultare deținute de serverul VNC, rulați comanda ss, care este utilizată în CentOS 7 pentru a afișa socket-urile de rețea. Deoarece ați pornit doar o singură instanță a serverului VNC, primul port deschis este 5901/TCP.

Din nou, comanda ss trebuie executată cu privilegii de 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 utilizate pentru a permite aplicațiilor X să se conecteze la serverul VNC.

# ss -tulpn| grep vnc
Verificarea porturilor de ascultare VNC

7. Pentru a permite clienților VNC externi să se conecteze la serverul VNC în CentOS, trebuie să vă asigurați că porturile VNC deschise corespunzătoare sunt autorizate să treacă prin firewall-ul dumneavoastră.

În cazul în care este pornită o singură instanță a serverului VNC, trebuie doar să deschideți primul port VNC alocat: 5901/TCP prin emiterea comenzilor de mai jos pentru a aplica configurația firewall în timpul execuției.

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

Pasul 2: Conectarea la CentOS Desktop prin intermediul clientului VNC

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

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

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

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

VNC Viewer Client
VNC Viewer Client Connection

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

Parolă utilizator server VNC
VNC Remote CentOS Desktop

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

Avertizare de autentificare a serverului VNC

Atenție, țineți cont de faptul 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 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 la un alt CentOS Desktop, asigurați-vă mai întâi că pachetul vinagre este instalat pe sistemul dumneavoastră prin emiterea comenzii de mai jos.

$ sudo yum install vinagre

12. Pentru a deschide utilitarul vinagre, accesați Applications -> Utilities -> Remote Desktop Viewer (Aplicații -> Utilități -> Remote Desktop Viewer), așa cum se arată în captura de ecran de mai jos.

Open Vinagre Tool

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

Select Remote Desktop Protocol
Enter Remote VNC Details
Remote VNC CentOS Desktop

14. Un alt client VNC popular pentru platformele bazate pe Linux este Remmina, este un client desktop de la distanță este folosit î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 emiteți următoarea comandă.

$ sudo apt-get install remmina

Pasul 3: Configurați sesiuni VNC multiple în CentOS 7

15. În cazul în care aveți nevoie 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 pentru prima dată serverul, vi se va cere să furnizați o nouă parolă pentru această sesiune. Cu toate acestea, fiți conștienți de faptul că această sesiune rulează cu permisiunile utilizatorului cu care v-ați conectat și independent de sesiunea de server VNC systemd pornită.

$ vncserver
Start New VNC Session

16. Noile sesiuni VNC vor deschide următoarele porturi disponibile bazate pe VNC (afișarea 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 extrasul de mai jos. Aceasta va lista doar sesiunile VNC pornite datorate de utilizatorul dumneavoastră.

$ ss -tlpn| grep Xvnc
List VNC Open Ports

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

Connect to VNC Remote Desktop

Pentru a opri instanțele serverului VNC pornite cu permisiunile acestui utilizator logat, emiteți următoarea comandă fără privilegii de root. Instalarea de la distanță a CentOS 7 sau RHEL 7 folosind modul VNC

Acesta este tot! Acum puteți să vă accesați sistemul CentOS 7 și să efectuați sarcini administrative folosind interfața grafică oferită de sistemul de operare.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.