VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s

VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s
Mõned kasutajad rendivad suhteliselt odavaid Windowsi VPS-e kaugtöölaudade teenuse käivitamiseks. Sama saab teha ka Linuxis ilma oma riistvara andmekeskusesse paigutamise või dedikeeritud serveri rentimiseta. Kellestki on vajalik tuttav graafiline keskkond testimiseks ja arenduseks või kaugtöölaua juurdepääs suure ribalaiusega mobiilseadmetest töötamiseks. On palju võimalusi, kuidas kasutada Virtual Network Computing (VNC) süsteemi, mis põhineb Remote FrameBuffer (RFB) protokollil. Selles lühikeses artiklis räägime, kuidas seda seadistada virtuaalmasinas, millel on igasugune hüperviisor.

Sisukord:

VNC serveri valimine
Paigaldamine ja seadistamine
Teenuse käivitamine läbi systemd
Kaugtöölauale ühendamine

VNC serveri valimine

VNC teenus võib olla integreeritud virtualiseerimisse, kus hüperviisor seob selle emuleeritud seadmetega ning täiendavat seadistamist ei ole vajalik. See variant eeldab märkimisväärseid ressursside nõudeid ja seda toetavad kaugel kõik teenusepakkujad — isegi vähem ressursimahukates rakendustes, kus virtuaalmasinale edastatakse lihtsustatud abstraktsioon (raamibuffer) reaalse graafilise seadme emuleerimise asemel. Mõnikord seotakse VNC-server töö suure X-serveriga, kuid see meetod sobib rohkem füüsilisele masinale juurdepääsuks ning virtuaalses keskkonnas tekitab see teatud tehnilisi keerukusi. Lihtsaim on installida VNC-server koos sisseehitatud X-serveriga. See ei nõua füüsiliste seadmete (videokaart, klaviatuur ja hiir) olemasolu või neid emuleerimist hüperviisori kaudu, mistõttu sobib see igasuguste VPS-ide jaoks.

Paigaldamine ja seadistamine

Me vajame virtuaalmasinat, millel on Ubuntu Server 18.04 LTS vaikeseadistustes. Selle jaotise standardsete hoidlate seas on mitu VNC-serverit: TightVNC, TigerVNC, x11vnc ja teised. Otsustasime jääda TigerVNC juurde — aktuaalne fork arendaja poolt mitte toetatud TightVNC-st. Muude serverite seadistamine toimub sarnasel viisil. Tuleb valida ka töölauakeskkond: meie arvates oleks optimaalseim variant XFCE, kuna see nõuab suhteliselt vähe arvutusressursse. Soovijad võivad installida ka teise DE või WM: siin sõltub kõik isiklikest eelistustest, kuid valitud tarkvara valik mõjutab otsekohe vajadust mälusektori ja arvutuslike südamike järele.

VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s

Töölaua keskkonna installimine koos kõigi sõltuvustega toimub järgmise käsu abil:

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

Järgmise sammuna tuleb installida VNC-server:

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

Seda rakendada superkasutaja õigustes on halb mõte. Loome kasutaja ja grupi:

sudo adduser vnc

VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s

Lisame kasutaja sudo gruppi, et ta saaks lahendada haldustöid. Kui sellist vajadust pole, võib selle sammu vahele jätta:

sudo gpasswd -a vnc sudo

Järgmises etapis tuleb käivitada VNC-server kasutaja vnc õigustes, et luua turvaline parool ja konfiguratsioonifailid kataloogis ~/.vnc/. Parooli pikkus võib olla 6 kuni 8 märk (ülejäänud kärbitakse). Vajadusel määratakse ka parool ainult vaatamiseks, st ilma klaviatuuri ja hiire juurdepääsuta. Järgmist käsu täidetakse kasutaja vnc nimel:

su - vnc
vncserver -localhost no

VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s
Vaikimisi kasutab RFB-protokoll TCP-portide vahemikku 5900 kuni 5906 — need on nn kuvaportid, millest igaühel on vastav X-serveri ekraan. Need pordid on seotud ekraanidega :0 kuni :6. Meie poolt käivitatud VNC-server kuulab porti 5901 (ekraan :1). Muud eksemplarid võivad töötada teistel portidel ekraanidega :2, :3 jne. Enne edasist seadistamist tuleb server peatada:

vncserver -kill :1

Käsk peaks andma umbes sellise teate: „Killing Xtigervnc process ID 18105… success!”.

TigerVNC käivitamisel täidab skript ~/.vnc/xstartup konfiguratsiooni seadistamiseks. Loome oma skripti, salvestades olemasoleva varukoopia, kui see on olemas:

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

XFCE töölaua seanss käivitatakse järgmise xstartup skriptiga:

#!/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 faili .Xresources kodukataloogis. Seal saab kasutaja määrata erinevaid graafilise töölaua parameetreid: fondide renderdamine, terminali värvid, kursori teemad jne. Skript tuleb muuta täidetavaks:

chmod 755 ~/.vnc/xstartup

Sellega on VNC-serveri seadistus lõpetatud. Kui seda käivitada käsuga vncserver -localhost no (kasutaja vnc nimel), saab sisse logida eelnevalt määratud parooliga ja näha sellist pilti:

VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s

Teenuse käivitamine läbi systemd

Manuaalne VNC-serveri käivitamine ei sobi hästi tootmisolukordades, seega seadistame süsteemiteenuse. Käsklused käivitatakse root'i õigustes (kasutame sudo). Alustuseks loome uue ühikufaili meie serveri jaoks:

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

Märk @ nimes võimaldab edastada argumendi teenuse seadistamiseks. Meie puhul määrab see VNC kuvari porti. Ühikufail 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 süsteemi teavitada uue faili olemasolust ja aktiveerida see:

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

Number 1 nimes määrab ekraani numbri.

Peatame VNC-serveri, käivitame selle teenusena ja kontrollime seisundit:

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

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

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

VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s

Kaugtöölauale ühendamine

Meie konfiguratsioon ei kasuta krüpteerimist, seega võivad võrgu paketid olla häkkerite poolt kinni püüdetud. Lisaks tuvastatakse VNC-serverites sageli haavatavusi, seega ei tasu neid avada interneti juurdepääsu jaoks. Turvaliseks ühendamiseks tuleb kohaliku arvuti kaudu liiklus pakkida SSH tunnelisse ja seejärel seadistada VNC klient. Windowsis saab kasutada graafilist SSH klienti (nt PuTTY). TigerVNC turvalisuse tagamiseks kuulab server vaid localhost'i ega ole otse kergesti kergesti ligipääsetav avalikest võrkudest:


sudo netstat -ap |more

VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s
Linuxis, FreeBSDs, OS X-is ja teistes UNIX-sarnastes süsteemides luuakse tunnel kliendi arvutist ssh utiliidi abil (VNC-serveris peab olema sshd käimas):

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

Valik -L seob kauguenduse port 5901 localhosti porti 5901. Valik -C lubab kompressiooni ja -N ütleb ssh utiliidile, et eemalt ei ole vaja käske täita. Valik -l määrab kaugühenduse sisselogimise.

Tunnel seadistamine kohalikus arvutis nõuab VNC kliendi käivitamist ja ühenduse loomist hostiga 127.0.0.1:5901 (localhost:5901), kasutades VNC serveri jaoks eelnevalt määratud parooli. Nüüd saame turvaliselt suhelda krüpteeritud tunneliga XFCE graafilise töölaua keskkonna kaudu VPS-is. Terminali emulaatoris on avatud utiliit top, et näidata virtuaalmasina madalat ressursikasutust. Edasi sõltub kõik kasutaja rakendustest.

VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s
VNC serveri paigaldamine ja seadistamine Linuxis on võimalik praktiliselt igal VPS-il. Selleks ei ole vajalikud kallid ja ressursimahukad konfiguratsioonid videodega emuleerimiseks või kommertslitsentside ostmine. Peale meie kaalutud süsteemi teenuse variandi on veel teisi: käivitamine demonrežiimis (läbi /etc/rc.local) süsteemi käivitamisel või nõudmisel inetd kaudu. Viimane on huvitav mitme kasutaja konfiguratsioonide loomisel. Internetsuperserver käivitab VNC serveri ja seob selle kliendiga, samas kui VNC server loob uue ekraani ja alustab seanssi. Autentimiseks võib kasutada graafilist ekraani haldurit (näiteks, LightDM), kuid pärast kliendi lahkemist seanss suletakse ja kõik ekraanil töötavad programmid lõpetatakse.

VPS Linuxi graafilise liidese jaotamiseks: käivitame VNC serveri Ubuntu 18.04-s

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster