Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l

Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l
Mõned kasutajad rendivad suhteliselt odavaid Windowsi VPS-e kaug-töölaua teenuse käitamiseks. Sama saab teha ka Linuxis, ilma et oleks vaja paigutada enda riistvara andmekeskusesse või rentida eraldi serverit. Mõnedel on vaja tuttavat graafilist keskkonda testimiseks ja arendamiseks või kaug-desktoopi laia ribaga, et töötada mobiilseadmetelt. Virtual Network Computing (VNC), mis põhineb Remote FrameBuffer (RFB) protokollil, pakub hulgaliselt rakendusi. Lühikeses artiklis räägime, kuidas seda seadistada virtuaalses masinas, kasutades igasuguseid hüperviseerijaid.

Sisukord:

VNC serveri valik
Installeerimine ja seadistamine
Teenuse käivitamine läbi systemd
Ühendamine töölauaga

VNC serveri valik

VNC teenus võib olla integreeritud virtualiseerimissüsteemi, kus hüperviisor seob selle emuleeritud seadmetega, mistõttu ei ole vaja täiendavat seadistamist. See variant eeldab märkimisväärseid kulusid ja ei ole toetatud kõikide pakkujate poolt — isegi vähem ressursinõudlikus rakenduses, kus virtuaalmasinale edastatakse lihtsustatud abstraktsioon (framebuffer) reaalse graafilise seadme emuleerimise asemel. Mõnikord seotakse VNC-server töötava X-serveriga, kuid see meetod sobib paremini füüsilise masina juurdepääsuks ning virtuaalses keskkonnas loob see mitmeid tehnilisi keerukusi. Lihtsaim viis on paigaldada VNC-server koos sisseehitatud X-serveriga. See ei nõua füüsiliste seadmete (videokaardi, klaviatuuri ja hiire) olemasolu ega nende emuleerimist hüperviisori kaudu, seega on see sobiv igat tüüpi VPS-ile.

Installeerimine ja seadistamine

Me vajame virtuaalmasinat, kus on Ubuntu Server 18.04 LTS vaikimisi konfiguratsiooniga. Selle distributsiooni standardsetes hoidlates on mitu VNC-serverit: TightVNC, TigerVNC, x11vnc ja ja muud. Ostsime TigerVNC — tänapäeva haru mitte toetatavast TightVNC-st. Muude serverite seadistamine toimub sarnasel viisil. Samuti tuleb valida kasutajaliidese keskkond: me arvame, et parim variant on XFCE, kuna sellel on suhteliselt madalad arvutusressursside nõuded. Soovi korral võib installida teisi DE või WM: see sõltub isiklikest eelistustest, kuid tarkvara valik mõjutab otseselt mälu ja protsessorituumade vajadust.

Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l

Töölaua keskkonna koos kõigi sõltuvustega installimiseks käivitage järgmine käsk:

sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

Edasi tuleb installida VNC server:

sudo apt-get install tigervnc-standalone-server tigervnc-common

Käivitamine superkasutaja õigustes on halb mõte. Loome kasutaja ja grupi:

sudo adduser vnc

Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l

Lisame kasutaja sudo rühma, et ta saaks hallata administraatoriga seotud ülesandeid. Kui sellist vajadust ei ole, võib selle sammu vahele jätta:

sudo gpasswd -a vnc sudo

Järgmise sammu puhul tuleb VNC server käivitada kasutaja vnc õigustes, et luua turvaline parool ja konfiguratsioonifailid kataloogis ~/.vnc/. Parooli pikkus võib olla 6 kuni 8 sümbolit (ülejäänud kärbitakse). Vajadusel määratakse ka vaate parool, st ilma pääsu õigusteta klaviatuurile ja hiirele. Järgmised käsud täidetakse kasutaja vnc nimel:

su - vnc
vncserver -localhost no

Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l
Vaikimisi kasutab RFB protokoll TCP-portide vahemikku 5900 kuni 5906 – need on nn ekraanipordid, millest igaüks vastab X-serveri ekraanile. Samuti on portidega seotud ekraanid :0 kuni :6. Meie käivitatud VNC-serveri eksemplar kuulab porti 5901 (ekraan :1). Ülejäänud eksemplarid võivad töötada teistel portidel ekraanidega :2, :3 jne. Enne edasist seadistamist tuleb server peatada:

vncserver -kill :1

Käsk peaks väljastama umbes sellise sõnumi: «Killing Xtigervnc process ID 18105… success!».

TigerVNC käivitamisel täidab see skripti ~/.vnc/xstartup konfiguratsiooniseadete seadistamiseks. Loome enda skripti, tehes eelnevalt olemasolevast varukoopia, kui see eksisteerib:

mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup

XFCE töölaudade keskkonna seanss käivitub järgmise xstartup skripti abil:

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &

Käsk xrdb on vajalik, et VNC-süsteem loeks .Xresources faili kodukataloogis. Seal saab kasutaja määrata erinevaid graafilise töölaudade parameetreid: fonte renderdamine, terminali värvid, kursori teemad jne. Skript tuleb teha käivitatavaks:

chmod 755 ~/.vnc/xstartup

VNC-serveri seadistamine on lõpetatud. Kui käivitada see käsuga vncserver -localhost no (kasutaja vnc alt), saab ühendust luua määratud parooliga ning nähtavale tuleb järgmine pilt:

Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l

Teenuse käivitamine läbi systemd

VNC-serveri käsitsi käivitamine ei sobi tootmiskeskkonda, seetõttu seadistame süsteemiteenuse. Komandeid täidetakse root'i õigustes (kasutame sudo). Alustuseks loome uue unit-faili meie serveri jaoks:

sudo nano /etc/systemd/system/vncserver@.service

Sümbol @ failinimes võimaldab edastada argument teenuse seadistamiseks. Meie puhul määrab see VNC kuva pordi. Unit-fail koosneb mitmest osast:

[Unit]
Description=TigerVNC server
After=syslog.target network.target

[Service]
Type=simple
User=vnc
Group=vnc
WorkingDirectory=/home/vnc
PIDFile=/home/vnc/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x960 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Seejärel tuleb systemd'le teatada, et uus fail on olemas ja aktiveerida see:

sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service

Numbriga 1 failinimes määratakse ekraani number.

Seisame VNC-serveri, käivitame selle teenusena ja kontrollime staatust:

# от имени пользователя vnc 
vncserver -kill :1

# с привилегиями суперпользователя
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1

Kui teenus töötab, peaksime saama umbes sellise tulemuse.

Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l

Ühendamine töölauaga

Meie konfiguratsioon ei kasuta krüptimist, mistõttu võivad võrgupaketid sattuda ründajate kätte. Lisaks leiduvad VNC-serverites sageli haavatavused, seetõttu ei ole mõistlik neid avada internetiühenduseks. Turvaliseks ühendamiseks peab kohaliku arvuti liiklus olema pakitud SSH-tunnelisse ning seejärel peab olema seatud VNC klient. Windowsis võib kasutada graafilist SSH klienti (näiteks PuTTY). Turvalisuse tagamiseks kuulab TigerVNC serveris ainult localhost'i ja ei ole otse kergesti ligipääsetav avalikest võrkudest:


sudo netstat -ap |more

Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l
Linuxis, FreeBSD-s, OS X-is ja teistes UNIX-taolistel opsüsteemidel luuakse tunnel klientarvuti kaudu ssh utiliidi abil (VNC serveris peab olema sshd käivitatud):

ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip

Lipp -L seob kaugühenduse portaali 5901 localhost'i 5901 porti. Lipp -C lubab tihendamist, samas kui -N ütleb ssh utiliidile, et kaugel komanda täitmine ei ole vajalik. Lipp -l määrab sisselogimise kaugjuhtimise jaoks.

Tunnelile seadistamise järel tuleb käivitada VNC klient ja luua ühendus hostiga 127.0.0.1:5901 (localhost:5901), kasutades VNC serverile eelnevalt määratud parooli. Nüüd saame ohutult suhelda šifreeritud tunneliga XFCE graafilise töölaudade keskkonnas VPS-is. Terminali emulaatori ekraanipildil on käivitunud utiliit top, et näidata virtuaalmasina vähest arvutusressursside kasutust. Edasi sõltub kõik kasutaja rakendustest.

Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l
VNC server'i seadistamine ja konfigureerimine Linuxis on võimalik praktiliselt igas VPS-is. Selleks ei vaja te kulukaid ja ressursimahukaid konfiguratsioone videoadapteri emuleerimisega ega ka kommertslitsentse tarkvara jaoks. Peale meie käsitletud süsteemiteenuse variandi on olemas ka teised: käivitamine deemonirežiimis (kasutades /etc/rc.local) süsteemi käivitamisel või nõudmisel läbi inetd. Viimane on huvitav mitme kasutaja konfiguratsioonide loomiseks. Interneti superserver käivitab VNC serveri ja ühendab selle kliendiga, samal ajal kui VNC server loob uue ekraani ja alustab seanssi. Seespool autentimiseks on võimalik kasutada graafilist ekraanihaldurit (näiteks, LightDM), ning pärast kliendi eemaldamist seanss suletakse ja kõik ekraaniga töötavad programmid lõpetatakse.

Linuxi VPS graafilise liidese jaoks: käivitame VNC serveri Ubuntu 18.04-l

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster