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.
+1 302 498-83-59
IT-GRAD NL B. V.
+1 302 498-83-59
it-Grad nl B. V.