VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s

VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s
Mõned kasutajad rendivad kaugtöölauateenuste käitamiseks suhteliselt odavat VPS-i Windowsiga. Sama saab teha Linuxis ilma oma riistvara andmekeskuses majutamata või spetsiaalset serverit rentimata. Mõned inimesed vajavad testimiseks ja arendamiseks tuttavat graafilist keskkonda või mobiilseadmetest töötamiseks laia kanaliga kaugtöölauda. Remote FrameBuffer (RFB) protokollipõhise virtuaalse võrgu andmetöötlussüsteemi (VNC) kasutamiseks on palju võimalusi. Selles lühikeses artiklis räägime teile, kuidas seda virtuaalses masinas mis tahes hüperviisoriga konfigureerida.

Оглавление

VNC-serveri valimine
Paigaldamine ja seadistamine
Teenuse käivitamine systemd kaudu
Töölaua ühendus

VNC-serveri valimine

VNC-teenuse saab virtualiseerimissüsteemi sisse ehitada ja hüperviisor ühendab selle emuleeritud seadmetega ning täiendavat konfigureerimist pole vaja. See valik hõlmab märkimisväärseid üldkulusid ja seda ei toeta kõik pakkujad – isegi vähem ressursimahuka juurutamise korral, kui tegeliku graafikaseadme emuleerimise asemel kantakse virtuaalsesse masinasse üle lihtsustatud abstraktsioon (kaadripuhver). Mõnikord on VNC-server seotud töötava X-serveriga, kuid see meetod sobib rohkem füüsilisele masinale juurdepääsuks ja virtuaalsel masinal tekitab see mitmeid tehnilisi raskusi. Lihtsaim viis VNC-serveri installimiseks on sisseehitatud X-server. See ei vaja füüsilisi seadmeid (videoadapter, klaviatuur ja hiir) ega nende emuleerimist hüperviisori abil ning sobib seetõttu igat tüüpi VPS-i jaoks.

Paigaldamine ja seadistamine

Vajame virtuaalset masinat, mille vaikekonfiguratsioonis on Ubuntu Server 18.04 LTS. Selle distributsiooni standardsetes hoidlates on mitu VNC-serverit: TightVNC, TiigerVNC, x11vnc ja teised. Otsustasime TigerVNC-ga - TightVNC praeguse hargiga, mida arendaja ei toeta. Teiste serverite seadistamine toimub sarnaselt. Samuti tuleb valida töölauakeskkond: optimaalne variant oleks meie hinnangul XFCE suhteliselt madalate nõuete tõttu arvutusressurssidele. Soovijad saavad installida teise DE või WM-i: kõik sõltub isiklikest eelistustest, kuid tarkvara valik mõjutab otseselt RAM-i ja arvutituumade vajadust.

VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s

Kõigi sõltuvustega töölauakeskkonna installimine toimub järgmise käsuga:

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

Järgmisena peate installima VNC-serveri:

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

Selle käivitamine superkasutajana on halb mõte. Looge kasutaja ja grupp:

sudo adduser vnc

VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s

Lisame kasutaja sudo gruppi, et ta saaks täita administreerimisega seotud ülesandeid. Kui sellist vajadust pole, võite selle sammu vahele jätta:

sudo gpasswd -a vnc sudo

Järgmine samm on VNC-serveri käivitamine vnc-kasutajaõigustega, et luua kataloogis ~/.vnc/ turvaline parool ja konfiguratsioonifailid. Parooli pikkus võib olla 6 kuni 8 tähemärki (lisamärgid on ära lõigatud). Vajadusel seatakse parool ka ainult vaatamiseks, s.t. ilma juurdepääsuta klaviatuurile ja hiirele. Vnc kasutajana käivitatakse järgmised käsud:

su - vnc
vncserver -localhost no

VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s
Vaikimisi kasutab RFB protokoll TCP pordi vahemikku 5900 kuni 5906 – see on nn. kuvapordid, millest igaüks vastab X-serveri ekraanile. Sel juhul on pordid seotud ekraanidega vahemikus :0 kuni :6. Meie käivitatud VNC-serveri eksemplar kuulab porti 5901 (ekraan: 1). Teised eksemplarid võivad töötada muude portidega, mille ekraanid on :2, :3 jne. Enne edasist seadistamist peate serveri seiskama:

vncserver -kill :1

Käsk peaks kuvama midagi sellist: "Killing Xtigervnc protsessi ID 18105... edu!"

Kui TigerVNC käivitub, käivitab see konfiguratsiooniseadete konfigureerimiseks skripti ~/.vnc/xstartup. Loome oma skripti, salvestades esmalt olemasoleva varukoopia, kui see on olemas:

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

XFCE töölauakeskkonna seansi käivitab järgmine xstartup skript:

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

Käsk xrdb on vajalik selleks, et VNC saaks lugeda kodukataloogis oleva .Xresources-faili. Seal saab kasutaja määrata erinevaid graafilisi töölaua sätteid: fondi renderdus, terminali värvid, kursori teemad jne. Skript tuleb muuta käivitatavaks:

chmod 755 ~/.vnc/xstartup

See lõpetab VNC-serveri seadistamise. Kui käivitate selle käsuga vncserver -localhost no (vnc kasutajana), saate ühenduse luua eelnevalt määratud parooliga ja näha järgmist pilti:

VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s

Teenuse käivitamine systemd kaudu

VNC-serveri käsitsi käivitamine ei sobi võitluseks kasutamiseks, seega konfigureerime süsteemiteenuse. Käsud täidetakse administraatorina (kasutame sudo). Kõigepealt loome oma serveri jaoks uue üksusefaili:

sudo nano /etc/systemd/system/[email protected]

Nimes olev sümbol @ võimaldab teil edastada argumendi teenuse konfigureerimiseks. Meie puhul määrab see VNC kuvapordi. Üksuse fail koosneb mitmest jaotisest:

[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 peate süsteemid uuest failist teavitama ja selle aktiveerima:

sudo systemctl daemon-reload
sudo systemctl enable [email protected]

Nimes olev number 1 määrab ekraani numbri.

Peatage VNC-server, käivitage see teenusena ja kontrollige olekut:

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

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

Kui teenus töötab, peaksime saama midagi sellist.

VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s

Töölaua ühendus

Meie konfiguratsioon ei kasuta krüptimist, nii et ründajad võivad võrgupakette kinni pidada. Lisaks VNC serverites üsna sageli leida haavatavusi, nii et te ei tohiks neid Internetist juurdepääsuks avada. Kohalikus arvutis turvalise ühenduse loomiseks peate liikluse pakkima SSH-tunnelisse ja seejärel konfigureerima VNC-kliendi. Windowsis saate kasutada graafilist SSH-klienti (nt PuTTY). Turvalisuse huvides kuulab TigerVNC serveris ainult kohalikku hosti ja pole avalikest võrkudest otse juurdepääsetav:


sudo netstat -ap |more

VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s
Linuxis, FreeBSD-s, OS X-is ja teistes UNIX-i sarnastes operatsioonisüsteemides tehakse klientarvutist tunnel ssh-utiliidi abil (sshd peab töötama VNC-serveris):

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

Valik -L seob kaugühenduse pordi 5901 kohaliku hosti pordiga 5901. Valik -C võimaldab tihendamist ja suvand -N käsib ssh-l kaugkäsku mitte käivitada. Valik -l määrab kaugsisselogimiseks sisselogimise.

Pärast tunneli seadistamist kohalikus arvutis peate käivitama VNC-kliendi ja looma ühenduse hostiga 127.0.0.1:5901 (localhost:5901), kasutades VNC-serverile juurdepääsuks eelnevalt määratud parooli. Nüüd saame VPS-i XFCE graafilise töölauakeskkonnaga turvaliselt suhelda krüpteeritud tunneli kaudu. Ekraanipildil töötab terminali emulaatoris tipputiliit, mis näitab virtuaalmasina vähest arvutusressursside tarbimist. Siis sõltub kõik kasutaja rakendustest.

VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s
Saate installida ja konfigureerida VNC-serveri Linuxis peaaegu igas VPS-is. See ei nõua kalleid ja ressursimahukaid konfiguratsioone koos videoadapteri emulatsiooniga ega kaubandusliku tarkvara litsentside ostmist. Lisaks kaalutletud süsteemiteenuse valikule on ka teisi: käivitamine deemonirežiimis (/etc/rc.local kaudu) süsteemi käivitumisel või nõudmisel inetd kaudu. Viimane on huvitav mitme kasutaja konfiguratsioonide loomiseks. Interneti superserver käivitab VNC serveri ja ühendab sellega kliendi ning VNC server loob uue ekraani ja alustab seanssi. Selles autentimiseks võite kasutada graafilist kuvahaldurit (näiteks LightDM) ja pärast kliendi lahtiühendamist seanss suletakse ja kõik ekraaniga töötavad programmid lõpetatakse.

VPS Linuxis graafilise liidesega: VNC-serveri käivitamine Ubuntu 18.04-s

Allikas: www.habr.com

Lisa kommentaar