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

VPS di Linux dengan antara muka grafik: melancarkan pelayan RDP pada Ubuntu 18.04
Π’ artikel sebelumnya kami membincangkan menjalankan pelayan VNC pada mesin maya dalam apa jua jenis. Pilihan ini mempunyai banyak kelemahan, yang utama adalah keperluan yang tinggi untuk pemprosesan saluran penghantaran data. Hari ini kita akan cuba menyambung ke desktop grafik pada Linux melalui RDP (Remote Desktop Protocol). Sistem VNC adalah berdasarkan pada penghantaran tatasusunan piksel menggunakan protokol RFB (Remote Framebuffer), dan RDP membolehkan anda menghantar primitif grafik yang lebih kompleks dan arahan peringkat tinggi. Ia biasanya digunakan untuk mengehoskan Perkhidmatan Desktop Jauh pada Windows, tetapi pelayan untuk Linux juga tersedia.

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

Memasang persekitaran grafik
Russifikasi pelayan dan pemasangan perisian
Memasang dan mengkonfigurasi pelayan RDP
Menyediakan tembok api
Menyambung ke pelayan RDP
Pengurus Sesi dan Sesi Pengguna
Menukar reka letak papan kekunci

Memasang persekitaran grafik

Kami akan menggunakan mesin maya dengan Ubuntu Server 18.04 LTS dengan dua teras pengkomputeran, empat gigabait RAM dan dua puluh gigabait cakera keras (HDD). Konfigurasi yang lebih lemah tidak sesuai untuk desktop grafik, walaupun ini bergantung pada tugas yang sedang diselesaikan. Jangan lupa gunakan kod promo Habrahabr10 untuk mendapatkan diskaun 10% untuk pesanan anda.

VPS di Linux dengan antara muka grafik: melancarkan pelayan RDP 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

Seperti dalam kes sebelumnya, kami memilih XFCE kerana keperluan sumber pengkomputerannya yang agak rendah.

Russifikasi pelayan dan pemasangan perisian

Selalunya mesin maya digunakan hanya dengan penyetempatan bahasa Inggeris. Pada desktop anda mungkin memerlukan bahasa Rusia, yang mudah disediakan. Mula-mula, mari pasang terjemahan untuk program sistem:

sudo apt-get install language-pack-ru

Mari sediakan penyetempatan:

sudo update-locale LANG=ru_RU.UTF-8

Kesan yang sama boleh dicapai dengan mengedit /etc/default/locale secara manual.

Untuk penyetempatan GNOME dan KDE, repositori mempunyai pakej language-pack-gnome-ru dan language-pack-kde-ru - anda memerlukannya jika anda menggunakan program daripada persekitaran desktop ini. Dalam XFCE, terjemahan dipasang dengan aplikasi. Seterusnya anda boleh memasang kamus:

# Π‘Π»ΠΎΠ²Π°Ρ€ΠΈ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ
sudo apt-get install hunspell hunspell-ru

# ВСзаурус для LibreOffice
sudo apt-get install mythes-ru

# Англо-русский ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ DICT
sudo apt-get install mueller7-dict

Di samping itu, pemasangan terjemahan mungkin diperlukan untuk beberapa program aplikasi:

# Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Firefox
sudo apt-get install firefox firefox-locale-ru

# ΠŸΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Thunderbird
sudo apt-get install thunderbird thunderbird-locale-ru

# ΠžΡ„ΠΈΡΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ LibreOffice
sudo apt-get install libreoffice libreoffice-l10n-ru libreoffice-help-ru

Ini melengkapkan penyediaan persekitaran desktop, yang tinggal hanyalah untuk mengkonfigurasi pelayan RDP.

Memasang dan mengkonfigurasi pelayan RDP

Repositori Ubuntu mempunyai pelayan Xrdp yang diedarkan secara bebas, yang akan kami gunakan:

sudo apt-get install xrdp

Jika semuanya berjalan lancar, pelayan harus bermula secara automatik:

sudo systemctl status xrdp

VPS di Linux dengan antara muka grafik: melancarkan pelayan RDP pada Ubuntu 18.04
Pelayan Xrdp berjalan dengan hak pengguna xrdp dan secara lalai mengambil sijil /etc/ssl/private/ssl-cert-snakeoil.key, yang boleh digantikan dengan sijil anda sendiri. Untuk mempunyai akses membaca fail, anda perlu menambah pengguna pada kumpulan ssl-cert:

sudo adduser xrdp ssl-cert

Tetapan lalai boleh didapati dalam fail /etc/default/xrdp, dan semua fail konfigurasi pelayan lain terletak dalam direktori /etc/xrdp. Parameter utama adalah dalam fail xrdp.ini, yang tidak perlu diubah. Konfigurasi didokumentasikan dengan baik, dan halaman manual yang sepadan disertakan:

man xrdp.ini
man xrdp

Yang tinggal hanyalah mengedit skrip /etc/xrdp/startwm.sh, yang dilaksanakan apabila sesi pengguna dimulakan. Mula-mula, mari buat salinan sandaran skrip daripada pengedaran:

sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh

Untuk memulakan persekitaran desktop XFCE, anda memerlukan skrip seperti ini:

#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4

Sila ambil perhatian: dalam skrip adalah lebih baik untuk menulis laluan penuh ke fail boleh laku - ini adalah tabiat yang baik. Mari jadikan skrip boleh laku dan pada ketika ini persediaan pelayan Xrdp boleh dianggap lengkap:

sudo chmod 755 /etc/xrdp/startwm.sh

Mulakan semula pelayan:

sudo systemctl restart xrdp

Menyediakan tembok api

Secara lalai, Xrdp mendengar port TCP 3389 pada semua antara muka. Bergantung pada konfigurasi pelayan maya, anda mungkin perlu mengkonfigurasi tembok api Netfilter. Di Linux ini biasanya dilakukan menggunakan utiliti iptables, tetapi di Ubuntu lebih baik menggunakan ufw. Jika alamat IP pelanggan diketahui, konfigurasi dijalankan dengan arahan berikut:

sudo ufw allow from IP_Address to any port 3389

Anda boleh membenarkan sambungan dari mana-mana IP seperti ini:

sudo ufw allow 3389

Protokol RDP menyokong penyulitan, tetapi mendedahkan pelayan Xrdp kepada rangkaian awam adalah idea yang tidak baik. Jika pelanggan tidak mempunyai IP tetap, pelayan hanya perlu mendengar localhost untuk meningkatkan keselamatan. Adalah lebih baik untuk mengaksesnya melalui terowong SSH, yang akan mengalihkan trafik dengan selamat dari komputer pelanggan. Kami mempunyai pendekatan yang sama digunakan dalam artikel sebelumnya untuk pelayan VNC.

Menyambung ke pelayan RDP

Untuk bekerja dengan persekitaran desktop, adalah lebih baik untuk mencipta pengguna yang tidak mempunyai hak yang berasingan:

sudo adduser rdpuser

VPS di Linux dengan antara muka grafik: melancarkan pelayan RDP 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 rdpuser sudo

Anda boleh menyambung ke pelayan menggunakan mana-mana klien RDP, termasuk klien Perkhidmatan Desktop Jauh Windows terbina dalam. Jika Xrdp mendengar antara muka luaran, tiada tindakan tambahan diperlukan. Ia cukup untuk menentukan alamat IP VPS, nama pengguna dan kata laluan dalam tetapan sambungan. Selepas menyambung, kita akan melihat sesuatu seperti ini:

VPS di Linux dengan antara muka grafik: melancarkan pelayan RDP pada Ubuntu 18.04
Selepas persediaan awal persekitaran desktop, kami akan mendapat desktop yang lengkap. Seperti yang anda lihat, ia tidak menggunakan banyak sumber, walaupun semuanya bergantung pada aplikasi yang digunakan.

VPS di Linux dengan antara muka grafik: melancarkan pelayan RDP pada Ubuntu 18.04
Jika pelayan Xrdp hanya mendengar localhost, trafik pada komputer klien perlu dibungkus ke dalam terowong SSH (sshd mesti dijalankan pada VPS). Pada Windows, anda boleh menggunakan klien SSH grafik (contohnya, PuTTY), dan pada sistem UNIX anda memerlukan utiliti ssh:

ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip

Selepas terowong dimulakan, klien RDP tidak lagi akan menyambung ke pelayan jauh, tetapi ke hos tempatan.

Lebih sukar dengan peranti mudah alih: Pelanggan SSH yang mampu menaikkan terowong perlu dibeli, dan dalam iOS dan iPadOS, operasi latar belakang aplikasi pihak ketiga adalah sukar kerana pengoptimuman penggunaan tenaga yang terlalu baik. Pada iPhone dan iPad, anda tidak akan dapat mencipta terowong dalam aplikasi berasingan; anda memerlukan aplikasi penuai yang boleh mewujudkan sambungan RDP melalui SSH sendiri. Seperti, sebagai contoh Remoter Pro.

Pengurus Sesi dan Sesi Pengguna

Keupayaan untuk kerja berbilang pengguna dilaksanakan secara langsung dalam pelayan Xrdp dan tidak memerlukan konfigurasi tambahan. Selepas memulakan perkhidmatan melalui systemd, satu proses berjalan dalam mod daemon, mendengar pada port 3389 dan berkomunikasi melalui localhost dengan pengurus sesi.

ps aux |grep xrdp

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

sudo netstat -ap |grep xrdp

VPS di Linux dengan antara muka grafik: melancarkan pelayan RDP pada Ubuntu 18.04
Pengurus sesi biasanya tidak kelihatan kepada pengguna, kerana log masuk dan kata laluan yang dinyatakan dalam tetapan klien dipindahkan kepadanya secara automatik. Jika ini tidak berlaku atau terdapat ralat semasa pengesahan, tetingkap log masuk interaktif akan muncul dan bukannya desktop.

VPS di Linux dengan antara muka grafik: melancarkan pelayan RDP pada Ubuntu 18.04
Pelancaran automatik pengurus sesi ditentukan dalam fail /etc/default/xrdp dan konfigurasi disimpan dalam /etc/xrdp/sesman.ini. Secara lalai ia kelihatan seperti ini:

[Globals]
ListenAddress=127.0.0.1
ListenPort=3350
EnableUserWindowManager=true
UserWindowManager=startwm.sh
DefaultWindowManager=startwm.sh

[Security]
AllowRootLogin=true
MaxLoginRetry=4
TerminalServerUsers=tsusers
TerminalServerAdmins=tsadmins
; When AlwaysGroupCheck=false access will be permitted
; if the group TerminalServerUsers is not defined.
AlwaysGroupCheck=false

[Sessions]

Anda tidak perlu mengubah apa-apa di sini, anda hanya perlu melumpuhkan log masuk dengan hak akar (AllowRootLogin=false). Untuk setiap pengguna yang diberi kuasa dalam sistem, proses xrdp yang berasingan dilancarkan: jika anda memutuskan sambungan tanpa menamatkan sesi, proses pengguna akan terus berjalan secara lalai dan anda boleh menyambung ke sesi semula. Tetapan boleh ditukar dalam fail /etc/xrdp/sesman.ini (bahagian [Sesi]).

Menukar reka letak papan kekunci

Biasanya tiada masalah dengan papan keratan dua hala, tetapi dengan susun atur papan kekunci Rusia anda perlu bermain-main sedikit (tempatan Rusia sepatutnya sudah dipasang). Mari edit tetapan papan kekunci pelayan Xrdp:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Anda perlu menambah baris berikut pada penghujung fail konfigurasi:

[rdp_keyboard_ru]
keyboard_type=4
keyboard_type=7
keyboard_subtype=1
model=pc105
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru

[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ru

Yang tinggal hanyalah menyimpan fail dan mulakan semula Xrdp:

sudo systemctl restart xrdp

Seperti yang anda lihat, tidak sukar untuk menyediakan pelayan RDP pada VPS Linux, tetapi artikel sebelumnya Kami telah membincangkan persediaan VNC. Sebagai tambahan kepada teknologi ini, terdapat satu lagi pilihan yang menarik: sistem X3Go menggunakan protokol NX 2 yang diubah suai. Kami akan menanganinya dalam penerbitan akan datang.

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

Sumber: www.habr.com

Tambah komen