Maybaygiare.org

Blog Network

VNC-kiszolgáló telepítése és konfigurálása a CentOS 7-en

13.07.2020

ebben az útmutatóban megvizsgáljuk, hogyan kell telepíteni és konfigurálni a VNC-kiszolgálót a CentOS 7-en.X operációs rendszer, amely lehetővé teszi a távoli kapcsolatokat bármely VNC ügyféltől, például a TightVNC-től, a RealVNC-től és másoktól. Különösen ezt a TigerVNC szerver szoftver segítségével fogjuk megtenni, amely egy ingyenes eszköz, amely lehetővé teszi egy önálló virtuális asztal használatát.

Bevezetés

a VNC (Virtual Network Computing) egy kliens-szerver protokoll, amely lehetővé teszi, hogy egy ügyfélszámítógép (VNC klienst futtat) csatlakoztasson és vezéreljen egy távoli számítógépet (VNC szerveren fut). A szoftvert az Olivetti & Oracle research lab fejlesztette ki Cambridge-ben, az Egyesült Királyságban, és forráskódja még mindig naprakész és elérhető a General Public License (GNU) alatt.

a kiszolgálószoftvertől függően a VNC kliens csatlakozik az aktív asztalhoz (például TeamViewer vagy AnyDesk programként) vagy egy önálló virtuális asztalhoz (például a Windows RDP remote desktop protocol). Az utóbbi, talán erősebb és biztonságosabb, különösen, ha kell kezelni a szerver számítógép, mert minden munkamenet lesz egy egyedi környezetben, konfigurálva a jogosultságokat és jogokat a csatlakoztatott felhasználó. Ezért választjuk a TigerVNC-t, amely a számítógép asztali környezetének párhuzamos munkameneteit futtatja (GNOME, KDE vagy más GUI): ez azt jelenti, hogy minden kapcsolathoz virtuális asztal jön létre — pontosan ezt akarjuk.

A TigerVNC telepítése

most nézzük meg, hogyan tudjuk telepíteni és konfigurálni a TigerVNC-t a CentOS-on. Az első lépés a TigerVNC kiszolgáló program telepítése egy terminál munkamenet megnyitásával és a következő parancs beírásával root jogosultságokkal:

$ sudo yum install tigervnc-server

közvetlenül ezután létre kell hoznia egy külön VNC felhasználót, ahonnan a kapcsolat létrejön (dedikált jelszóval). Ehhez írja be a következőket:

$ sudo adduser vncuser
$ sudo passwd vncuser

fontos: soha ne tegye ezt root felhasználóként — ez komoly veszélyt jelent a rendszer biztonságára. A legjobb megoldás az lenne, ha a root felhasználót a VNC-hez való hozzáférés nélkül hagyná, és korlátozott jogokkal rendelkező dedikált fiókot hozna létre.

miután létrehozta a vncuser-t és beállított egy jelszót a bejelentkezéshez, be kell állítania egy egyedi VNC jelszót is ehhez a felhasználóhoz. A parancs erre a következő:

$ su - vncuser
$ vncpasswd

(az első sor elhagyható, ha már előre bejelentkeztünk vncuser-ként).

a következő lépés egy VNC konfigurációs fájl létrehozása a vncuser számára. Ennek leggyorsabb módja a /lib/systemd/system/ mappában található megosztott VNC sablonfájl másolása, majd módosítása:

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

az új fájlnévhez hozzáadott 1-es szám az a megjelenítési szám, amelyet a szolgáltatás adott példányához használunk. Ezt fontos tudni, mert meghatározza azt a TCP portot is, amelyet a VNC szerverünk fog használni, egyenlő 5900 + megjelenítési számmal. Az első 5901, majd 5902 stb.

a másolás után azonnal szerkesztenie kell az új fájlt Vi, Nano vagy más szövegszerkesztő segítségével, majd cserélje ki a nemrégiben létrehozott felhasználó nevét (esetünkben vncuser). A fájlnak így kell kinéznie a frissítés után (kivéve a hosszú kommentált részt az elején):


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

miután ezt megtette, újratöltheti a VNC démont, és futtathatja a vncserver @ 1 parancsot a következő parancsokkal:

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

a folytatás előtt ellenőrizze, hogy a szolgáltatás fut-e a systemctl status paranccsal:

$ systemctl status vncserver@:1

és hozzon létre egy szimbolikus linket, hogy mindig a rendszer indításakor futhasson a következő paranccsal:

$ systemctl enable vncserver@:1

egy másik teszt, amelyet elvégezhet, mielőtt megpróbálna csatlakozni a szerverhez, az aktív hálózati aljzatok megtekintése a thesscommand segítségével: ha minden megfelelően működik, látnia kell, hogy a VNC szerver működik, és az 5901-es TCP portot használja. Hajtsa végre a parancsot:

$ ss -tulpn| grep vnc

az eredménynek a következőnek kell lennie:

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))

Ha ezt látja, akkor minden helyesen van beállítva.

tűzfal beállítása

mivel a VNC szolgáltatásunk az 5901-es TCP porton hallgat, biztosnak kell lennie abban, hogy egy ilyen port nyitva van és elérhető a külső ügyfelek számára. Ezért, ha tűzfal van telepítve, létre kell hoznia egy megfelelő szabályt, amely lehetővé teszi a VNC-ügyfelek csatlakozását.

hány portot kell megnyitni attól függ, hogy hány VNC szerver példányra van szüksége. Forgatókönyvünkben csak 1-et tettünk, tehát csak az első dedikált VNC portot kell megnyitnia: TCP 5901, amint azt már mondtuk. A port Firewalld-on történő megnyitásának parancsa:

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

nem lesz felesleges megemlíteni, hogy ezt a portot bizonyos csoportokra, IP-címekre, hálózati kártyákra vagy más egyszerű vagy összetett tűzfalszabályokra is korlátozhatja.

A grafikus felhasználói felület (GUI) telepítése

Ha már rendelkezik GNOME, KDE vagy más telepített asztali környezetekkel, kihagyhatja ezt a lépést. Ellenkező esetben telepítenie kell az egyiket: a TigerVNC szerver minden bejelentkezési munkamenethez elindítja az asztali környezet párhuzamos példányát, ami azt jelenti, hogy legalább egy GUI-val kell rendelkeznünk.

GNOME

ha nagyszerű, de nehézsúlyú GNOME felületet szeretne, írja be a következőket:

$ sudo yum groupinstall "GNOME Desktop"

Xfce

Ha könnyű alternatívára van szüksége, kínálunk Xfce-t, egy ingyenes, nyílt forráskódú környezetet Unix-szerű platformokhoz, amely nagyszerűen működik a TigerVNC-vel. A GNOME is remekül működik, de meglehetősen erőforrás-igényes: ha erőforrásokat szeretne megtakarítani a szerver gépén, az Xfce lehet a legjobb választás. A telepítéshez írja be a következőket:

$ yum install epel-release
$ yum groupinstall xfce

az Xfce további beállításai

Ha úgy dönt, hogy az Xfce-t használja, akkor módosítania kell a VNC munkamenet indításakor végrehajtott fájlt is. Ehhez szerkessze a /home/<user>/fájlt.VNC/xstartup és változtassa meg az exec bejegyzést (Általában 4.sor) etc/X11/xinit/xinitrc-ről startxfce4-re, az alábbiak szerint:

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

VNC kliens kapcsolat

most, hogy minden be van állítva, megpróbálhatunk csatlakozni a VNC szolgáltatásunkhoz egy VNC kliens segítségével, mint például a TightVNC, UltraVNC vagy RealVNC, és meglátjuk, mi történik. Ne felejtse el megadni az 5901-es TCP portot (ha követte az útmutatónkat).

lehetséges problémák

Ha az ügyfél nem tud működő VNC kapcsolatot létrehozni, ellenőrizze a következőket:

1. Csatlakozási problémák-tűzfal konfiguráció: ha olyan előugró hibákat lát, amelyek miatt az ügyfél nem tud csatlakozni a távoli gazdagéphez, ellenőrizze a hálózat és a tűzfal konfigurációját, hogy megbizonyosodjon arról, hogy nincsenek-e olyan blokkolási problémák, amelyek megakadályozhatják az Ügyfelet az 5901-es TCP-kiszolgáló portjához való csatlakozásban.

2. Fekete képernyő az egérrel-a YUM frissítése vagy a GUI újratelepítése: ha fekete képernyőt lát egy működő egérkurzorral, ez valószínűleg azt jelenti, hogy a VNC-kapcsolat jól működik, de van valami, ami megakadályozza a GUI megfelelő indítását asztal. Javításra:

  • futtassa a yum update programot a TigerVNC legújabb verzióinak és magának a GUI-nak a telepítéséhez. Ügyeljen arra, hogy nyomon kövesse a telepítési szakaszban felmerülő problémákat.
  • távolítsa el és telepítse újra a GUI-t a Yum remove / yum group remove és yum groupinstall parancs segítségével. Ha még mindig semmi sem működik, megpróbálhat telepíteni egy másik GUI-t.
19703 Claymont 2093 Philadelphia Pike #2345, USA

+1 302 498-83-59

700 300

IT-GRAD NL B. V.

19703 Claymont 2093 Philadelphia Pike #2345, USA

+1 302 498-83-59

700 300

it-Grad nl B. V.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.