VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04

VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04
Sesetengah pengguna menyewa VPS yang agak murah dengan Windows untuk menjalankan perkhidmatan desktop jauh. Perkara yang sama boleh dilakukan di Linux tanpa mengehos perkakasan anda sendiri di pusat data atau menyewa pelayan khusus. Sesetengah orang memerlukan persekitaran grafik yang biasa untuk ujian dan pembangunan, atau desktop jauh dengan saluran yang luas untuk bekerja dari peranti mudah alih. Terdapat banyak pilihan untuk menggunakan sistem Pengkomputeran Rangkaian Maya (VNC) berasaskan protokol FrameBuffer Jauh (RFB). Dalam artikel pendek ini kami akan memberitahu anda cara mengkonfigurasinya pada mesin maya dengan mana-mana hypervisor.

:Π›Π°Π²Π»Π΅Π½ΠΈΠ΅:

Memilih Pelayan VNC
Pemasangan dan konfigurasi
Memulakan perkhidmatan melalui systemd
Sambungan Desktop

Memilih Pelayan VNC

Perkhidmatan VNC boleh dibina ke dalam sistem virtualisasi, dan hipervisor akan menyambungkannya dengan peranti yang dicontohi dan tiada konfigurasi tambahan diperlukan. Pilihan ini melibatkan overhed yang ketara dan tidak disokong oleh semua pembekal - walaupun dalam pelaksanaan yang kurang intensif sumber, apabila bukannya meniru peranti grafik sebenar, abstraksi yang dipermudahkan (framebuffer) dipindahkan ke mesin maya. Kadangkala pelayan VNC terikat pada pelayan X yang sedang berjalan, tetapi kaedah ini lebih sesuai untuk mengakses mesin fizikal, dan pada mesin maya ia mewujudkan beberapa masalah teknikal. Cara paling mudah untuk memasang pelayan VNC adalah dengan pelayan X terbina dalam. Ia tidak memerlukan peranti fizikal (penyesuai video, papan kekunci dan tetikus) atau emulasi mereka menggunakan hypervisor, dan oleh itu sesuai untuk sebarang jenis VPS.

Pemasangan dan konfigurasi

Kami memerlukan mesin maya dengan Pelayan Ubuntu 18.04 LTS dalam konfigurasi lalainya. Terdapat beberapa pelayan VNC dalam repositori standard pengedaran ini: TightVNC, HarimauVNC, x11vnc dan lain lain. Kami menetap di TigerVNC - garpu semasa TightVNC, yang tidak disokong oleh pembangun. Menyediakan pelayan lain dilakukan dengan cara yang sama. Anda juga perlu memilih persekitaran desktop: pilihan optimum, pada pendapat kami, ialah XFCE kerana keperluan yang agak rendah untuk sumber pengkomputeran. Mereka yang ingin boleh memasang DE atau WM lain: semuanya bergantung pada pilihan peribadi, tetapi pilihan perisian secara langsung mempengaruhi keperluan untuk RAM dan teras pengkomputeran.

VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04

Memasang persekitaran desktop dengan semua kebergantungan dilakukan dengan arahan berikut:

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

Seterusnya anda perlu memasang pelayan VNC:

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

Menjalankannya sebagai superuser adalah idea yang tidak baik. Buat pengguna dan kumpulan:

sudo adduser vnc

VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04

Mari tambahkan pengguna pada kumpulan sudo supaya dia boleh melaksanakan tugas berkaitan pentadbiran. Jika tiada keperluan sedemikian, anda boleh melangkau langkah ini:

sudo gpasswd -a vnc sudo

Langkah seterusnya ialah menjalankan pelayan VNC dengan keistimewaan pengguna vnc untuk mencipta kata laluan selamat dan fail konfigurasi dalam direktori ~/.vnc/. Panjang kata laluan boleh dari 6 hingga 8 aksara (aksara tambahan dipotong). Jika perlu, kata laluan juga ditetapkan untuk tontonan sahaja, i.e. tanpa akses kepada papan kekunci dan tetikus. Perintah berikut dilaksanakan sebagai pengguna vnc:

su - vnc
vncserver -localhost no

VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04
Secara lalai, protokol RFB menggunakan julat port TCP dari 5900 hingga 5906 - inilah yang dipanggil. port paparan, setiap satu sepadan dengan skrin pelayan X. Dalam kes ini, port dikaitkan dengan skrin dari :0 hingga :6. Contoh pelayan VNC yang kami lancarkan mendengar port 5901 (skrin: 1). Kejadian lain boleh berfungsi pada port lain dengan skrin :2, :3, dsb. Sebelum konfigurasi lanjut, anda perlu menghentikan pelayan:

vncserver -kill :1

Perintah harus memaparkan sesuatu seperti ini: "Membunuh ID proses Xtigervnc 18105... kejayaan!"

Apabila TigerVNC bermula, ia menjalankan skrip ~/.vnc/xstartup untuk mengkonfigurasi tetapan konfigurasi. Mari buat skrip kita sendiri, mula-mula simpan salinan sandaran yang sedia ada, jika ia wujud:

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

Sesi persekitaran desktop XFCE dimulakan oleh skrip xstartup berikut:

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

Perintah xrdb diperlukan untuk VNC membaca fail .Xresources dalam direktori rumah. Di sana pengguna boleh menentukan pelbagai tetapan desktop grafik: rendering fon, warna terminal, tema kursor, dll. Skrip mesti boleh dilaksanakan:

chmod 755 ~/.vnc/xstartup

Ini melengkapkan persediaan pelayan VNC. Jika anda menjalankannya dengan arahan vncserver -localhost no (sebagai pengguna vnc), anda boleh menyambung dengan kata laluan yang dinyatakan sebelum ini dan lihat gambar berikut:

VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04

Memulakan perkhidmatan melalui systemd

Memulakan pelayan VNC secara manual tidak sesuai untuk kegunaan pertempuran, jadi kami akan mengkonfigurasi perkhidmatan sistem. Perintah tersebut dilaksanakan sebagai root (kami menggunakan sudo). Mula-mula, mari buat fail unit baharu untuk pelayan kami:

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

Simbol @ dalam nama membolehkan anda memberikan hujah untuk mengkonfigurasi perkhidmatan. Dalam kes kami, ia menentukan port paparan VNC. Fail unit terdiri daripada beberapa bahagian:

[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

Kemudian anda perlu memberitahu systemd tentang fail baharu dan mengaktifkannya:

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

Nombor 1 dalam nama menentukan nombor skrin.

Hentikan pelayan VNC, mulakannya sebagai perkhidmatan dan semak status:

# ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ vnc 
vncserver -kill :1

# с привилСгиями ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1

Jika perkhidmatan sedang berjalan, kita sepatutnya mendapat sesuatu seperti ini.

VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04

Sambungan Desktop

Konfigurasi kami tidak menggunakan penyulitan, jadi paket rangkaian boleh dipintas oleh penyerang. Di samping itu, dalam pelayan VNC agak kerap mencari kelemahan, jadi anda tidak seharusnya membukanya untuk akses daripada Internet. Untuk menyambung dengan selamat pada komputer tempatan anda, anda perlu membungkus trafik ke dalam terowong SSH dan kemudian mengkonfigurasi klien VNC. Pada Windows, anda boleh menggunakan klien SSH grafik (contohnya, PuTTY). Untuk keselamatan, TigerVNC pada pelayan hanya mendengar localhost dan tidak boleh diakses secara langsung daripada rangkaian awam:


sudo netstat -ap |more

VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04
Dalam Linux, FreeBSD, OS X dan OS seperti UNIX yang lain, terowong daripada komputer klien dibuat menggunakan utiliti ssh (sshd mesti dijalankan pada pelayan VNC):

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

Pilihan -L mengikat port 5901 sambungan jauh ke port 5901 pada localhost. Pilihan -C membolehkan pemampatan, dan pilihan -N memberitahu ssh untuk tidak melaksanakan arahan jauh. Pilihan -l menentukan log masuk untuk log masuk jauh.

Selepas menyediakan terowong pada komputer tempatan, anda perlu melancarkan klien VNC dan mewujudkan sambungan ke hos 127.0.0.1:5901 (localhost:5901), menggunakan kata laluan yang dinyatakan sebelum ini untuk mengakses pelayan VNC. Kami kini boleh berkomunikasi dengan selamat melalui terowong yang disulitkan dengan persekitaran desktop grafik XFCE pada VPS. Dalam tangkapan skrin, utiliti teratas sedang berjalan dalam emulator terminal untuk menunjukkan penggunaan rendah sumber pengkomputeran mesin maya. Kemudian semuanya bergantung pada aplikasi pengguna.

VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04
Anda boleh memasang dan mengkonfigurasi pelayan VNC di Linux pada hampir mana-mana VPS. Ini tidak memerlukan konfigurasi yang mahal dan intensif sumber dengan emulasi penyesuai video atau pembelian lesen perisian komersial. Sebagai tambahan kepada pilihan perkhidmatan sistem yang kami pertimbangkan, terdapat yang lain: lancarkan dalam mod daemon (melalui /etc/rc.local) apabila sistem but atau atas permintaan melalui inetd. Yang terakhir ini menarik untuk mencipta konfigurasi berbilang pengguna. Internet Superserver akan memulakan pelayan VNC dan menyambungkan klien kepadanya, dan pelayan VNC akan mencipta skrin baharu dan memulakan sesi. Untuk mengesahkan di dalamnya, anda boleh menggunakan pengurus paparan grafik (contohnya, LightDM), dan selepas memutuskan sambungan pelanggan, sesi akan ditutup dan semua program yang berfungsi dengan skrin akan ditamatkan.

VPS di Linux dengan antara muka grafik: melancarkan pelayan VNC pada Ubuntu 18.04

Sumber: www.habr.com

Tambah komen