Maybaygiare.org

Blog Network

Instalarea și configurarea unui server VNC pe CentOS 7

13.07.2020

în acest ghid, vom analiza modul de instalare și configurare a unui server VNC pe CentOS 7.x Sistem de operare pentru a permite conexiuni la distanță de la orice clienti VNC, cum ar fi TightVNC, RealVNC, și altele. În special, vom face acest lucru folosind software-ul TigerVNC Server, un instrument gratuit care permite utilizarea unui desktop virtual autonom.

Introducere

VNC (Virtual Network Computing) este un protocol client-server care permite unui computer client (care rulează un client VNC) să conecteze și să controleze un computer la distanță (care rulează pe un server VNC). Software-ul a fost dezvoltat de Olivetti & Oracle research lab din Cambridge, Marea Britanie, iar codul său sursă este încă actualizat și disponibil sub Licența Publică Generală (GNU).

în funcție de software-ul serverului, clientul VNC se va conecta la desktopul activ (de exemplu, ca programe TeamViewer sau AnyDesk) sau la un desktop virtual independent (cum ar fi protocolul desktop la distanță Windows RDP). Acesta din urmă, poate mai puternic și mai sigur, mai ales dacă trebuie să gestionați computerul server, deoarece fiecare sesiune va fi un mediu unic, configurat cu permisiunile și drepturile utilizatorului conectat. De aceea alegem TigerVNC, care rulează sesiuni paralele ale mediului desktop al computerului (GNOME, KDE sau alt GUI): aceasta înseamnă că va fi creat un desktop virtual pentru fiecare conexiune — Acesta este exact ceea ce ne dorim.

instalarea TigerVNC

acum să vedem cum putem instala și configura TigerVNC pe CentOS. Primul lucru de făcut este să instalați programul TigerVNC Server deschizând o sesiune terminal și introducând următoarea comandă cu privilegii root:

$ sudo yum install tigervnc-server

imediat după aceea, trebuie să creați un utilizator VNC separat de la care se va face conexiunea (cu o parolă dedicată). Pentru aceasta, introduceți următoarele:

$ sudo adduser vncuser
$ sudo passwd vncuser

Important: nu faceți niciodată acest lucru ca utilizator root — aceasta va reprezenta o amenințare serioasă pentru securitatea sistemului dvs. Cea mai bună soluție ar fi să lăsați utilizatorul root fără acces la VNC și să configurați un cont dedicat cu drepturi limitate.

după ce creați vncuser și setați o parolă pentru conectare, trebuie să setați și o parolă VNC unică pentru acest utilizator. Comanda pentru a face acest lucru este:

$ su - vncuser
$ vncpasswd

(prima linie poate fi omisă dacă suntem deja conectați ca vncuser în avans).

următorul lucru de făcut este să creați un fișier de configurare VNC pentru vncuser. Cel mai rapid mod de a face acest lucru este să copiați fișierul șablon VNC partajat situat în folderul /lib/systemd/system/ și apoi să îl schimbați:

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

numărul 1 pe care l-am adăugat la noul nume de fișier este numărul afișat care va fi utilizat pentru această instanță particulară a serviciului. Acest lucru este important de știut, deoarece va determina și portul TCP care va fi utilizat de serverul nostru VNC, egal cu numărul de afișare 5900+. Primul va fi 5901, apoi 5902 și așa mai departe.

imediat după copiere, trebuie să editați noul fișier folosind vi, Nano sau un alt editor de text și să îl înlocuiți cu numele utilizatorului creat recent (în cazul nostru, vncuser). Acesta este modul în care fișierul ar trebui să aibă grijă de actualizare (cu excepția părții lungi comentate la început):


Description=Remote desktop service (VNC)
After=syslog.target network.target
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l vncuser -c "/usr/bin/vncserver %i -geometry 1280x720"
PIDFile=/home/vncuser/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

WantedBy=multi-user.target

odată ce faceți acest lucru, puteți reîncărca daemonul VNC și puteți rula vncserver @ 1 cu următoarele comenzi:

$ systemctl daemon-reload
$ systemctl start vncserver@:1

înainte de a continua, verificați dacă serviciul rulează introducând comanda de stare systemctl:

$ systemctl status vncserver@:1

și creați o legătură simbolică, astfel încât să ruleze întotdeauna la pornirea sistemului folosind următoarea comandă:

$ systemctl enable vncserver@:1

un alt test pe care îl puteți efectua înainte de a încerca să vă conectați la server este să vă uitați la prizele de rețea active folosind thesscommand: dacă totul funcționează corect, ar trebui să vedeți că serverul VNC funcționează și utilizează portul TCP 5901. Executați comanda:

$ ss -tulpn| grep vnc

rezultatul ar trebui să fie după cum urmează:

tcp LISTEN 0 5 *:5901 *:* users:(("Xvnc",pid=38344,fd=9))
tcp LISTEN 0 128 *:6001 *:* users:(("Xvnc",pid=38344,fd=6))
tcp LISTEN 0 5 :::5901 :::* users:(("Xvnc",pid=38344,fd=10))
tcp LISTEN 0 128 :::6001 :::* users:(("Xvnc",pid=38344,fd=5))

dacă vedeți acest lucru, atunci totul este configurat corect.

firewall setup

deoarece serviciul nostru VNC ascultă pe portul TCP 5901, trebuie să fiți sigur că un astfel de port este deschis și accesibil clienților externi. Prin urmare, dacă aveți instalat un firewall, trebuie să creați o regulă adecvată care să permită conectarea clienților VNC.

câte porturi de deschis vor depinde de câte instanțe de server VNC aveți nevoie. În scenariul nostru, am făcut doar 1, deci trebuie doar să deschideți primul port VNC dedicat: TCP 5901, așa cum am spus deja. Comanda pentru a deschide acest port pe Firewalld:

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

nu va fi de prisos să menționăm că puteți restricționa acest port și la anumite grupuri, adrese IP, carduri de rețea sau alte reguli simple sau complexe de firewall.

instalarea interfeței grafice cu utilizatorul (GUI)

Dacă aveți deja GNOME, KDE sau alte medii desktop instalate, puteți sări peste acest pas. În caz contrar, trebuie să instalați unul dintre ele: serverul TigerVNC va porni o instanță paralelă a acestui mediu desktop pentru fiecare sesiune de conectare, ceea ce înseamnă că trebuie să avem cel puțin o interfață grafică.

GNOME

Dacă doriți o interfață GNOME excelentă, dar grea, introduceți următoarele:

$ sudo yum groupinstall "GNOME Desktop"

Xfce

Dacă aveți nevoie de o alternativă ușoară, putem oferi Xfce, un mediu gratuit, open-source pentru platforme de tip Unix, care funcționează excelent cu TigerVNC. GNOME funcționează, de asemenea, excelent, dar necesită resurse destul de mari: dacă doriți să economisiți resurse pe mașina dvs. de server, Xfce ar putea fi cea mai bună alegere. Pentru a-l instala, introduceți următoarele:

$ yum install epel-release
$ yum groupinstall xfce

setări suplimentare pentru Xfce

Dacă decideți să utilizați Xfce, va trebui, de asemenea, să modificați fișierul care a fost executat la începerea sesiunii VNC. Pentru a face acest lucru, editați fișierul /home/<utilizator>/.vnc/xstartup și schimbați intrarea exec (de obicei linia 4) de la etc/X11/xinit/xinitrc la startxfce4, așa cum se arată mai jos:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
vncserver -kill $DISPLAY

VNC client connection

acum că totul este configurat, putem încerca să ne conectăm la serviciul nostru VNC folosind un client VNC, cum ar fi TightVNC, UltraVNC sau RealVNC, și să vedem ce se întâmplă. Nu uitați să specificați portul TCP 5901 (dacă ați urmat ghidul nostru).

posibile probleme

dacă clientul dvs. nu poate stabili o conexiune VNC funcțională, trebuie să verificați următoarele:

1. Probleme de conectare-configurare Firewall: dacă vedeți erori pop-up pe care clientul nu le poate conecta la gazda de la distanță, trebuie să verificați configurația rețelei și a firewall-ului pentru a vă asigura că nu există probleme de blocare care ar putea împiedica clientul să se conecteze la portul serverului TCP 5901.

2. Ecran negru cu mouse-ul-actualizarea YUM sau reinstalarea GUI: dacă vedeți un ecran negru cu un cursor de mouse funcțional, probabil înseamnă că conexiunea VNC funcționează bine, dar există ceva care împiedică GUI să pornească corect desktop. Pentru corecție:

  • rulați actualizarea yum pentru a instala cele mai recente versiuni ale TigerVNC și GUI în sine. Asigurați-vă că urmăriți orice probleme care apar în timpul fazei de instalare.
  • dezinstalați și reinstalați GUI folosind comanda yum remove / yum group remove și Yum groupinstall din nou. Dacă încă nu funcționează nimic, puteți încerca să instalați o interfață grafică diferită.
19703 Claymont 2093 Philadelphia Pike #2345, Statele Unite ale Americii

+1 302 498-83-59

700 300

IT-GRAD NL B. V.

19703 Claymont 2093 Philadelphia Pike #2345, Statele Unite ale Americii

+1 302 498-83-59

700 300

it-grad nl B. V.

Lasă un răspuns

Adresa ta de email nu va fi publicată.