Erabiltzaile batzuek VPS nahiko merke alokatzen dute Windows-ekin urruneko mahaigaineko zerbitzuak exekutatzeko. Gauza bera egin daiteke Linux-en zure hardwarea datu-zentro batean ostatu gabe edo zerbitzari dedikatu bat alokatu gabe. Pertsona batzuek ingurune grafiko ezaguna behar dute probak egiteko eta garatzeko, edo urruneko mahaigaina gailu mugikorretatik lan egiteko kanal zabala duen. Aukera asko daude Remote FrameBuffer (RFB) protokoloan oinarritutako Virtual Network Computing (VNC) sistema erabiltzeko. Artikulu labur honetan esango dizugu nola konfiguratu makina birtualean edozein hipervisor batekin.
Edukien taula:
VNC zerbitzari bat hautatzea
VNC zerbitzua birtualizazio sisteman txerta daiteke, eta hipervisoreak emulatutako gailuekin konektatuko du eta ez da konfigurazio gehigarririk beharko. Aukera honek gainkostu handia dakar eta hornitzaile guztiek ez dute onartzen, nahiz eta baliabide gutxiago erabiltzen duten inplementazio batean, benetako gailu grafiko bat emulatu beharrean, abstrakzio sinplifikatu bat (framebuffer) makina birtualera transferitzen denean. Batzuetan, VNC zerbitzari bat martxan dagoen X zerbitzari bati lotuta dago, baina metodo hau egokiagoa da makina fisiko batera sartzeko, eta birtualean zailtasun tekniko batzuk sortzen ditu. VNC zerbitzari bat instalatzeko modurik errazena X zerbitzari integratua izatea da. Ez du behar gailu fisikorik (bideo-egokitzailea, teklatua eta sagua) edo haien emulazioa hipervisor baten bidez, eta, beraz, edozein VPS motatarako egokia da.
Instalazioa eta konfigurazioa
Ubuntu Server 18.04 LTS duen makina birtual bat beharko dugu bere konfigurazio lehenetsian. Banaketa honen biltegi estandarretan hainbat VNC zerbitzari daude:
Mahaigaineko ingurunea mendekotasun guztiekin instalatzea komando honekin egiten da:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Ondoren, VNC zerbitzaria instalatu behar duzu:
sudo apt-get install tigervnc-standalone-server tigervnc-common
Supererabiltzaile gisa martxan jartzea ideia txarra da. Sortu erabiltzaile eta talde bat:
sudo adduser vnc
Gehi dezagun erabiltzailea sudo taldean, administrazioarekin lotutako zereginak egin ditzan. Beharrik ez badago, urrats hau salta dezakezu:
sudo gpasswd -a vnc sudo
Hurrengo urratsa VNC zerbitzaria exekutatzen da vnc erabiltzaile-pribilegioekin pasahitz seguru bat eta konfigurazio fitxategiak sortzeko ~/.vnc/ direktorioan. Pasahitzaren luzera 6 eta 8 karaktere izan daiteke (karaktere gehigarriak mozten dira). Beharrezkoa bada, pasahitz bat ere ezartzen da ikusteko soilik, hau da. teklatua eta sagua sartu gabe. Komando hauek vnc erabiltzaile gisa exekutatzen dira:
su - vnc
vncserver -localhost no
Lehenespenez, RFB protokoloak 5900tik 5906ra bitarteko TCP ataka erabiltzen du - hau deitzen da. bistaratzeko atakak, bakoitza X zerbitzariaren pantaila bati dagokiona. Kasu honetan, atakak :0 eta :6 arteko pantailekin lotzen dira. Abian jarri dugun VNC zerbitzariaren instantzia 5901 ataka entzuten du (pantaila: 1). Beste instantziek beste portu batzuetan funtziona dezakete :2, :3, etab pantailekin. Konfigurazio gehiago egin aurretik, zerbitzaria gelditu behar duzu:
vncserver -kill :1
Komandoak honelako zerbait erakutsi beharko luke: "Xtigervnc prozesua ID 18105 hiltzea... arrakasta!"
TigerVNC abiarazten denean, ~/.vnc/xstartup script-a exekutatzen du konfigurazio-ezarpenak konfiguratzeko. Sortu dezagun gure script-a, lehenik lehendik dagoenaren babeskopia gordez, baldin badago:
mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup
XFCE mahaigaineko inguruneko saioa hurrengo xstartup script-ekin hasten da:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &
xrdb komandoa beharrezkoa da VNC-k hasierako direktorioko .Xresources fitxategia irakur dezan. Bertan erabiltzaileak mahaigaineko hainbat ezarpen grafiko defini ditzake: letra-tipoen errendaketa, terminalen koloreak, kurtsorearen gaiak, etab. Scripta exekutagarria izan behar da:
chmod 755 ~/.vnc/xstartup
Honek VNC zerbitzariaren konfigurazioa osatzen du. vncserver -localhost no komandoarekin exekutatzen baduzu (vnc erabiltzaile gisa), aurrez zehaztutako pasahitzarekin konekta zaitezke eta irudi hau ikusi dezakezu:
Zerbitzu bat abiaraztea systemd bidez
VNC zerbitzari bat eskuz abiaraztea ez da egokia borrokan erabiltzeko, beraz, sistemaren zerbitzu bat konfiguratuko dugu. Komandoak root gisa exekutatzen dira (sudo erabiltzen dugu). Lehenik eta behin, sor dezagun unitate-fitxategi berri bat gure zerbitzarirako:
sudo nano /etc/systemd/system/[email protected]
Izenaren @ sinboloak argumentu bat pasatzeko aukera ematen dizu zerbitzua konfiguratzeko. Gure kasuan, VNC bistaratzeko ataka zehazten du. Unitatearen fitxategiak hainbat atal ditu:
[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
Ondoren, systemd fitxategi berriaren berri eman eta aktibatu behar duzu:
sudo systemctl daemon-reload
sudo systemctl enable [email protected]
Izenaren 1 zenbakiak pantaila-zenbakia zehazten du.
Gelditu VNC zerbitzaria, abiarazi zerbitzu gisa eta egiaztatu egoera:
# ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ vnc
vncserver -kill :1
# Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1
Zerbitzua martxan badago, horrelako zerbait lortu beharko genuke.
Mahaigaineko konexioa
Gure konfigurazioak ez du enkriptatzerik erabiltzen, beraz sare-paketeak atzeman ditzakete erasotzaileek. Horrez gain, VNC zerbitzarietan sarritan
sudo netstat -ap |more
Linux, FreeBSD, OS X eta UNIX antzeko beste sistema eragile batzuetan, bezero-ordenagailutik tunel bat egiten da ssh utilitatea erabiliz (sshd VNC zerbitzarian exekutatu behar da):
ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip
-L aukerak urruneko konexioaren 5901 ataka lokalhost-eko 5901 atakarekin lotzen du. -C aukerak konpresioa gaitzen du, eta -N aukerak ssh-i esaten dio ez dezala urruneko komandoa exekutatzeko. -l aukerak urruneko saioa hasteko saioa zehazten du.
Tunela ordenagailu lokalean konfiguratu ondoren, VNC bezeroa abiarazi eta 127.0.0.1:5901 ostalariaren konexioa ezarri behar duzu (localhost:5901), aurretik zehaztutako pasahitza erabiliz VNC zerbitzarian sartzeko. Orain segurtasunez komunika gaitezke enkriptatutako tunel baten bidez VPS-eko XFCE mahaigaineko ingurune grafikoarekin. Pantaila-argazkian, goiko utilitatea exekutatzen ari da terminal-emulatzailean, makina birtualek baliabide informatikoen kontsumo txikia erakusteko. Orduan dena erabiltzailearen aplikazioen araberakoa izango da.
Linuxen VNC zerbitzari bat instalatu eta konfigura dezakezu ia edozein VPStan. Honek ez du behar bideo-egokitzaileen emulazioarekin konfigurazio garestiak eta baliabide asko erabiltzen dituztenak edo software komertzialen lizentziak erostea. Kontuan izan dugun sistema-zerbitzuaren aukeraz gain, badaude beste batzuk: deabru moduan abiarazi (/etc/rc.local bidez) sistema abiarazten denean edo inetd bidez eskatuta. Azken hau interesgarria da erabiltzaile anitzeko konfigurazioak sortzeko. Internet Superserver-ek VNC zerbitzaria abiaraziko du eta bezeroa harekin konektatuko du, eta VNC zerbitzariak pantaila berri bat sortuko du eta saioa hasiko du. Haren barruan autentifikatzeko, pantaila-kudeatzaile grafiko bat erabil dezakezu (adibidez,
Iturria: www.habr.com