Sawetara pangguna nyewa VPS sing relatif murah karo Windows kanggo mbukak layanan desktop remot. Padha bisa rampung ing Linux tanpa hosting hardware dhewe ing pusat data utawa nyewa server darmabakti. Sawetara wong mbutuhake lingkungan grafis sing akrab kanggo nguji lan ngembangake, utawa desktop remot kanthi saluran sing amba kanggo nggarap piranti seluler. Ana akeh opsi kanggo nggunakake sistem Virtual Network Computing (VNC) berbasis protokol Remote FrameBuffer (RFB). Ing artikel cendhak iki kita bakal pitutur marang kowe carane ngatur ing mesin virtual karo hypervisor sembarang.
Gamelan:
Pilih Server VNC
Layanan VNC bisa dibangun ing sistem virtualisasi, lan hypervisor bakal nyambungake karo piranti sing ditiru lan ora ana konfigurasi tambahan sing dibutuhake. Opsi iki kalebu overhead sing signifikan lan ora didhukung dening kabeh panyedhiya - sanajan ing implementasine kurang sumber daya, nalika tinimbang niru piranti grafis nyata, abstraksi sing disederhanakake (framebuffer) ditransfer menyang mesin virtual. Kadhangkala server VNC disambungake menyang server X sing mlaku, nanging cara iki luwih cocok kanggo ngakses mesin fisik, lan ing virtual nggawe sawetara kesulitan teknis. Cara paling gampang kanggo nginstal server VNC yaiku karo server X sing dibangun. Ora mbutuhake piranti fisik (adaptor video, keyboard lan mouse) utawa emulasi nggunakake hypervisor, lan mulane cocok kanggo kabeh jinis VPS.
Instalasi lan konfigurasi
Kita butuh mesin virtual karo Ubuntu Server 18.04 LTS ing konfigurasi standar. Ana sawetara server VNC ing repositori standar distribusi iki:
Nginstal lingkungan desktop karo kabeh dependensi wis rampung karo printah ing ngisor iki:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Sabanjure sampeyan kudu nginstal server VNC:
sudo apt-get install tigervnc-standalone-server tigervnc-common
Mlaku minangka superuser minangka ide sing ala. Gawe pangguna lan grup:
sudo adduser vnc
Ayo nambah pangguna menyang grup sudo supaya bisa nindakake tugas sing ana gandhengane karo administrasi. Yen ora perlu, sampeyan bisa ngliwati langkah iki:
sudo gpasswd -a vnc sudo
Langkah sabanjure kanggo mbukak server VNC karo hak istimewa pangguna vnc kanggo nggawe sandi aman lan file konfigurasi ing ~/.vnc/ direktori. Dawane tembung sandi bisa saka 6 nganti 8 karakter (karakter ekstra dipotong). Yen perlu, sandhi uga disetel kanggo ndeleng mung, i.e. tanpa akses menyang keyboard lan mouse. Printah ing ngisor iki dieksekusi minangka pangguna vnc:
su - vnc
vncserver -localhost no
Kanthi gawan, protokol RFB nggunakake sawetara port TCP saka 5900 kanggo 5906 - iki sing disebut. port tampilan, saben cocog karo layar server X. Ing kasus iki, port digandhengake karo layar saka: 0 kanggo: 6. Kayata server VNC sing diluncurake ngrungokake port 5901 (layar: 1). Kedadean liyane bisa digunakake ing port liyane karo layar: 2,: 3, etc. Sadurunge konfigurasi luwih, sampeyan kudu mungkasi server:
vncserver -kill :1
Printah kudu nampilake kaya iki: "Killing Xtigervnc process ID 18105... success!"
Nalika TigerVNC wiwit, mbukak ~/.vnc/xstartup script kanggo ngatur setelan konfigurasi. Ayo nggawe skrip dhewe, nyimpen salinan serep sing wis ana, yen ana:
mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup
Sesi lingkungan desktop XFCE diwiwiti kanthi skrip xstartup ing ngisor iki:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &
Printah xrdb dibutuhake kanggo VNC maca file .Xresources ing direktori ngarep. Ing kana pangguna bisa nemtokake macem-macem setelan desktop grafis: rendering font, warna terminal, tema kursor, lsp. Skrip kudu bisa dieksekusi:
chmod 755 ~/.vnc/xstartup
Iki ngrampungake persiyapan server VNC. Yen sampeyan mbukak kanthi printah vncserver -localhost no (minangka pangguna vnc), sampeyan bisa nyambung karo tembung sandhi sing wis ditemtokake sadurunge lan ndeleng gambar ing ngisor iki:
Miwiti layanan liwat systemd
Kanthi manual miwiti server VNC ora cocok kanggo pertempuran nggunakake, supaya kita bakal ngatur layanan sistem. Printah kasebut dieksekusi minangka root (kita nggunakake sudo). Pisanan, ayo nggawe file unit anyar kanggo server kita:
sudo nano /etc/systemd/system/[email protected]
Simbol @ ing jeneng ngidini sampeyan ngirim argumentasi kanggo ngatur layanan kasebut. Ing kasus kita, nemtokake port tampilan VNC. File unit kasusun saka sawetara bagean:
[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
Banjur sampeyan kudu ngabari systemd babagan file anyar lan aktifake:
sudo systemctl daemon-reload
sudo systemctl enable [email protected]
Nomer 1 ing jeneng kasebut nemtokake nomer layar.
Mungkasi server VNC, miwiti minangka layanan lan mriksa status:
# ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ vnc
vncserver -kill :1
# Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1
Yen layanan mlaku, kita kudu njaluk kaya iki.
Sambungan Desktop
Konfigurasi kita ora nggunakake enkripsi, mula paket jaringan bisa dicegat dening panyerang. Kajaba iku, ing server VNC cukup asring
sudo netstat -ap |more
Ing Linux, FreeBSD, OS X lan OS kaya UNIX liyane, trowongan saka komputer klien digawe nggunakake sarana ssh (sshd kudu mlaku ing server VNC):
ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip
Opsi -L ngiket port 5901 saka sambungan remot menyang port 5901 ing localhost. Opsi -C mbisakake kompresi, lan opsi -N ngandhani ssh supaya ora nglakokake perintah remot. Opsi -l nemtokake login kanggo login remot.
Sawise nyetel trowongan ing komputer lokal, sampeyan kudu miwiti klien VNC lan nggawe sambungan menyang host 127.0.0.1:5901 (localhost: 5901), nggunakake sandhi sing wis ditemtokake sadurunge kanggo ngakses server VNC. Saiki kita bisa komunikasi kanthi aman liwat trowongan sing dienkripsi karo lingkungan desktop grafis XFCE ing VPS. Ing gambar, utilitas ndhuwur mlaku ing emulator terminal kanggo nuduhake konsumsi sumber daya komputer sing sithik ing mesin virtual. Banjur kabeh bakal gumantung ing aplikasi pangguna.
Sampeyan bisa nginstal lan ngatur server VNC ing Linux ing meh kabeh VPS. Iki ora mbutuhake konfigurasi sing larang lan sumber daya intensif karo emulasi adaptor video utawa tuku lisensi piranti lunak komersial. Saliyane pilihan layanan sistem kita dianggep, ana liyane: miwiti ing mode daemon (liwat /etc/rc.local) nalika sistem boots utawa ing dikarepake liwat inetd. Sing terakhir menarik kanggo nggawe konfigurasi multi-user. Superserver Internet bakal miwiti server VNC lan nyambungake klien menyang, lan server VNC bakal nggawe layar anyar lan miwiti sesi. Kanggo otentikasi ing njero, sampeyan bisa nggunakake manajer tampilan grafis (contone,
Source: www.habr.com