Xi utenti jikru VPS relattivament irħas bil-Windows biex imexxu servizzi ta' desktop remoti. L-istess jista 'jsir fuq Linux mingħajr ma tospita l-hardware tiegħek stess f'ċentru tad-dejta jew tikri server dedikat. Xi nies jeħtieġu ambjent grafiku familjari għall-ittestjar u l-iżvilupp, jew desktop remot b'kanal wiesa 'għal xogħol minn apparat mobbli. Hemm ħafna għażliet għall-użu tas-sistema tal-Computing tan-Netwerk Virtwali (VNC) ibbażata fuq il-protokoll Remote FrameBuffer (RFB). F'dan l-artikolu qasir aħna ngħidulek kif tikkonfiguraha fuq magna virtwali bi kwalunkwe hypervisor.
Werrej:
Għażla ta' Server VNC
Is-servizz VNC jista 'jinbena fis-sistema tal-virtwalizzazzjoni, u l-hypervisor se jgħaqqadha mal-apparati emulati u l-ebda konfigurazzjoni addizzjonali ma tkun meħtieġa. Din l-għażla tinvolvi overhead sinifikanti u mhix sostnuta mill-fornituri kollha - anke f'implimentazzjoni inqas intensiva fir-riżorsi, meta minflok ma timita apparat tal-grafika reali, estrazzjoni simplifikata (framebuffer) tiġi trasferita għall-magna virtwali. Kultant server VNC huwa marbut ma 'server X li jaħdem, iżda dan il-metodu huwa aktar adattat għall-aċċess ta' magna fiżika, u fuq waħda virtwali toħloq numru ta 'diffikultajiet tekniċi. L-eħfef mod biex tinstalla server VNC huwa b'server X integrat. Ma teħtieġx apparat fiżiku (adapter tal-vidjo, tastiera u maws) jew l-emulazzjoni tagħhom bl-użu ta 'hypervisor, u għalhekk huwa adattat għal kwalunkwe tip ta' VPS.
Installazzjoni u konfigurazzjoni
Ikollna bżonn magna virtwali b'Ubuntu Server 18.04 LTS fil-konfigurazzjoni default tagħha. Hemm diversi servers VNC fir-repożitorji standard ta 'din id-distribuzzjoni:
L-installazzjoni tal-ambjent tad-desktop bid-dipendenzi kollha ssir bil-kmand li ġej:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Imbagħad għandek bżonn tinstalla s-server VNC:
sudo apt-get install tigervnc-standalone-server tigervnc-common
It-tħaddim tiegħu bħala superuser hija idea ħażina. Oħloq utent u grupp:
sudo adduser vnc
Ejja nżidu l-utent mal-grupp sudo sabiex ikun jista 'jwettaq kompiti relatati mal-amministrazzjoni. Jekk ma jkunx hemm tali ħtieġa, tista 'taqbeż dan il-pass:
sudo gpasswd -a vnc sudo
Il-pass li jmiss huwa li tħaddem is-server VNC bi privileġġi tal-utent vnc biex toħloq password sigura u fajls ta 'konfigurazzjoni fid-direttorju ~/.vnc/. It-tul tal-password jista 'jkun minn 6 sa 8 karattri (karattri żejda huma maqtugħa). Jekk meħtieġ, password hija ssettjata wkoll għall-wiri biss, i.e. mingħajr aċċess għat-tastiera u l-maws. Il-kmandi li ġejjin huma esegwiti bħala l-utent vnc:
su - vnc
vncserver -localhost no
B'mod awtomatiku, il-protokoll RFB juża l-firxa tal-port TCP minn 5900 sa 5906 - dan huwa l-hekk imsejjaħ. portijiet tal-wiri, kull wieħed jikkorrispondi għal skrin tas-server X. F'dan il-każ, il-portijiet huma assoċjati ma 'skrins minn :0 sa :6. L-istanza tas-server VNC li nedejna tisma' l-port 5901 (iskrin: 1). Każijiet oħra jistgħu jaħdmu fuq portijiet oħra bi skrins :2, :3, eċċ. Qabel aktar konfigurazzjoni, trid twaqqaf is-server:
vncserver -kill :1
Il-kmand għandu juri xi ħaġa bħal din: "Qtil tal-proċess Xtigervnc ID 18105... suċċess!"
Meta TigerVNC jibda, imexxi l-iskrittura ~/.vnc/xstartup biex jiġi kkonfigurat is-settings tal-konfigurazzjoni. Ejja noħolqu l-iskript tagħna stess, l-ewwel insalvaw kopja ta' backup ta' dik eżistenti, jekk teżisti:
mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup
Is-sessjoni tal-ambjent tad-desktop XFCE tinbeda mill-iskritt xstartup li ġej:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &
Il-kmand xrdb huwa meħtieġ għal VNC biex jaqra l-fajl .Xresources fid-direttorju tad-dar. Hemmhekk l-utent jista 'jiddefinixxi diversi settings tad-desktop grafiċi: rendering tat-tipa, kuluri terminali, temi tal-cursor, eċċ. L-iskript għandu jsir eżekutibbli:
chmod 755 ~/.vnc/xstartup
Dan itemm is-setup tas-server VNC. Jekk tħaddem bil-kmand vncserver -localhost no (bħala l-utent vnc), tista 'tikkonnettja bil-password speċifikata qabel u ara l-istampa li ġejja:
Bidu ta' servizz permezz ta' systemd
Il-bidu manwalment ta 'server VNC mhuwiex adattat għall-użu fil-ġlieda, għalhekk aħna ser tikkonfigura servizz tas-sistema. Il-kmandi huma esegwiti bħala root (nużaw sudo). L-ewwel, ejja noħolqu fajl unità ġdid għas-server tagħna:
sudo nano /etc/systemd/system/[email protected]
Is-simbolu @ fl-isem jippermettilek tgħaddi argument biex tikkonfigura s-servizz. Fil-każ tagħna, jispeċifika l-port tal-wiri VNC. Il-fajl tal-unità jikkonsisti f'diversi sezzjonijiet:
[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
Imbagħad trid tinnotifika lil systemd dwar il-fajl il-ġdid u tattivah:
sudo systemctl daemon-reload
sudo systemctl enable [email protected]
In-numru 1 fl-isem jispeċifika n-numru tal-iskrin.
Waqqaf is-server VNC, ibdah bħala servizz u ċċekkja l-istatus:
# от имени пользователя vnc
vncserver -kill :1
# с привилегиями суперпользователя
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1
Jekk is-servizz qed jaħdem, għandna nġibu xi ħaġa bħal din.
Konnessjoni tad-Desktop
Il-konfigurazzjoni tagħna ma tużax encryption, għalhekk il-pakketti tan-netwerk jistgħu jiġu interċettati mill-attakkanti. Barra minn hekk, fis-servers VNC spiss
sudo netstat -ap |more
Fil-Linux, FreeBSD, OS X u OSs oħra li jixbħu lil UNIX, issir mina mill-kompjuter tal-klijent bl-użu tal-utilità ssh (sshd għandu jkun qed jaħdem fuq is-server VNC):
ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip
L-għażla -L torbot il-port 5901 tal-konnessjoni remota mal-port 5901 fuq localhost. L-għażla -C tippermetti l-kompressjoni, u l-għażla -N tgħid lil ssh biex ma jesegwix il-kmand mill-bogħod. L-għażla -l tispeċifika login għal login mill-bogħod.
Wara li twaqqaf il-mina fuq il-kompjuter lokali, għandek bżonn tniedi l-klijent VNC u tistabbilixxi konnessjoni mal-host 127.0.0.1:5901 (localhost:5901), billi tuża l-password speċifikata qabel biex taċċessa s-server VNC. Issa nistgħu nikkomunikaw b'mod sigur permezz ta 'mina kriptata mal-ambjent tad-desktop grafiku XFCE fuq il-VPS. Fil-screenshot, l-utilità ta 'fuq qed taħdem fl-emulator tat-terminal biex turi l-konsum baxx ta' riżorsi tal-kompjuter tal-magna virtwali. Imbagħad kollox jiddependi fuq l-applikazzjonijiet tal-utent.
Tista 'tinstalla u tikkonfigura server VNC fil-Linux fuq kważi kull VPS. Dan ma jeħtieġx konfigurazzjonijiet għaljin u li jużaw ħafna riżorsi b'emulazzjoni tal-adapter tal-vidjo jew ix-xiri ta' liċenzji tas-softwer kummerċjali. Minbarra l-għażla tas-servizz tas-sistema li ikkunsidrajna, hemm oħrajn: tnedija fil-modalità daemon (permezz ta '/etc/rc.local) meta s-sistema boots jew fuq talba permezz inetd. Dan tal-aħħar huwa interessanti għall-ħolqien ta 'konfigurazzjonijiet multi-utenti. L-Internet Superserver se jibda s-server VNC u jgħaqqad il-klijent miegħu, u s-server VNC se joħloq skrin ġdid u jibda s-sessjoni. Biex tawtentika fi ħdanha, tista' tuża maniġer tal-wiri grafiku (per eżempju,
Sors: www.habr.com