GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın
В əvvəlki məqalə VNC serverini istənilən növ virtual maşında işlətməyi müzakirə etdik. Bu seçimin bir çox çatışmazlıqları var, bunlardan əsas biri məlumat ötürmə kanallarının ötürmə qabiliyyətinə yüksək tələblərdir. Bu gün biz Linux-da RDP (Remote Desktop Protocol) vasitəsilə qrafik iş masasına qoşulmağa çalışacağıq. VNC sistemi RFB (Remote Framebuffer) protokolundan istifadə edərək piksel massivlərinin ötürülməsinə əsaslanır və RDP daha mürəkkəb qrafik primitivləri və yüksək səviyyəli əmrləri göndərməyə imkan verir. O, adətən Windows-da Uzaq Masaüstü Xidmətlərini yerləşdirmək üçün istifadə olunur, lakin Linux üçün serverlər də mövcuddur.

Mündəricat:

Qrafik mühitin quraşdırılması
Serverin ruslaşdırılması və proqram təminatının quraşdırılması
RDP serverinin quraşdırılması və konfiqurasiyası
Təhlükəsizlik divarının qurulması
RDP serverinə qoşulur
Sessiya Meneceri və İstifadəçi Sessiyaları
Klaviatura düzümlərinin dəyişdirilməsi

Qrafik mühitin quraşdırılması

Ubuntu Server 18.04 LTS ilə iki hesablama nüvəsi, dörd giqabayt RAM və iyirmi giqabayt sabit disk (HDD) olan virtual maşın alacağıq. Daha zəif konfiqurasiya qrafik iş masası üçün uyğun deyil, baxmayaraq ki, bu həll olunan vəzifələrdən asılıdır. Sifarişinizə 10% endirim əldə etmək üçün Habrahabr10 promo kodundan istifadə etməyi unutmayın.

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın
İş masası mühitinin bütün asılılıqlarla quraşdırılması aşağıdakı əmrlə həyata keçirilir:

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

Əvvəlki halda olduğu kimi, biz XFCE-ni nisbətən aşağı hesablama resursu tələblərinə görə seçdik.

Serverin ruslaşdırılması və proqram təminatının quraşdırılması

Çox vaxt virtual maşınlar yalnız ingilis dili lokalizasiyası ilə yerləşdirilir. İş masasında sizə qurmaq asan olan rus dili lazım ola bilər. Əvvəlcə sistem proqramları üçün tərcümələri quraşdıraq:

sudo apt-get install language-pack-ru

Lokalizasiyanı quraq:

sudo update-locale LANG=ru_RU.UTF-8

Eyni effektə /etc/default/locale-i əl ilə redaktə etməklə nail olmaq olar.

GNOME və KDE-nin lokallaşdırılması üçün depoda dil paketi-gnome-ru və dil paketi-kde-ru paketləri var - bu iş masası mühitlərinin proqramlarından istifadə etsəniz, sizə lazım olacaq. XFCE-də tərcümələr proqramlarla quraşdırılır. Sonra lüğətləri quraşdıra bilərsiniz:

# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru

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

# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict

Bundan əlavə, bəzi tətbiq proqramları üçün tərcümələrin quraşdırılması tələb oluna bilər:

# Браузер 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

Bu, masaüstü mühitin hazırlanmasını tamamlayır, RDP serverini konfiqurasiya etmək qalır.

RDP serverinin quraşdırılması və konfiqurasiyası

Ubuntu depolarında sərbəst paylanmış Xrdp server var, biz ondan istifadə edəcəyik:

sudo apt-get install xrdp

Hər şey qaydasındadırsa, server avtomatik olaraq başlamalıdır:

sudo systemctl status xrdp

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın
Xrdp serveri xrdp istifadəçi hüquqları ilə işləyir və standart olaraq /etc/ssl/private/ssl-cert-snakeoil.key sertifikatını götürür, onu öz sertifikatınızla əvəz edə bilərsiniz. Faylı oxumaq üçün istifadəçini ssl-cert qrupuna əlavə etməlisiniz:

sudo adduser xrdp ssl-cert

Standart parametrləri /etc/default/xrdp faylında tapmaq olar və bütün digər server konfiqurasiya faylları /etc/xrdp qovluğunda yerləşir. Əsas parametrlər xrdp.ini faylındadır, onun dəyişdirilməsinə ehtiyac yoxdur. Konfiqurasiya yaxşı sənədləşdirilmişdir və müvafiq mansəhifələr daxil edilmişdir:

man xrdp.ini
man xrdp

Yalnız istifadəçi sessiyası işə salındıqda yerinə yetirilən /etc/xrdp/startwm.sh skriptini redaktə etmək qalır. Əvvəlcə paylamadan skriptin ehtiyat nüsxəsini çıxaraq:

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

XFCE masa üstü mühitini işə salmaq üçün sizə belə bir skript lazımdır:

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

Diqqət yetirin: skriptlərdə icra olunan fayllara tam yolu yazmaq daha yaxşıdır - bu yaxşı bir vərdişdir. Skripti icra edilə bilən hala gətirək və bu nöqtədə Xrdp serverinin quraşdırılması başa çatmış hesab edilə bilər:

sudo chmod 755 /etc/xrdp/startwm.sh

Serveri yenidən başladın:

sudo systemctl restart xrdp

Təhlükəsizlik divarının qurulması

Varsayılan olaraq, Xrdp bütün interfeyslərdə TCP 3389 portunu dinləyir. Virtual server konfiqurasiyasından asılı olaraq, sizə Netfilter firewall konfiqurasiya etməli ola bilərsiniz. Linux-da bu, adətən iptables yardım proqramı ilə edilir, lakin Ubuntu-da ufw istifadə etmək daha yaxşıdır. Müştərinin IP ünvanı məlumdursa, konfiqurasiya aşağıdakı əmrlə həyata keçirilir:

sudo ufw allow from IP_Address to any port 3389

İstənilən IP-dən bağlantılara belə icazə verə bilərsiniz:

sudo ufw allow 3389

RDP protokolu şifrələməni dəstəkləyir, lakin Xrdp serverini ictimai şəbəkələrə təqdim etmək pis fikirdir. Müştərinin sabit IP-si yoxdursa, təhlükəsizliyi artırmaq üçün server yalnız localhost-a qulaq asmalıdır. Müştəri kompüterindən trafiki etibarlı şəkildə yönləndirəcək bir SSH tuneli vasitəsilə ona daxil olmaq yaxşıdır. Bizdə də oxşar yanaşma var əvvəlki məqalədə istifadə edilmişdir VNC server üçün.

RDP serverinə qoşulur

İş masası mühiti ilə işləmək üçün ayrıca imtiyazsız istifadəçi yaratmaq daha yaxşıdır:

sudo adduser rdpuser

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın
İstifadəçini sudo qrupuna əlavə edək ki, o, idarəetmə ilə bağlı tapşırıqları yerinə yetirə bilsin. Belə bir ehtiyac yoxdursa, bu addım atlana bilər:

sudo gpasswd -a rdpuser sudo

Siz daxili Windows Uzaq Masaüstü Xidmətləri müştərisi də daxil olmaqla istənilən RDP müştərisindən istifadə edərək serverə qoşula bilərsiniz. Xrdp xarici interfeysi dinləyirsə, əlavə hərəkətlərə ehtiyac olmayacaq. Bağlantı parametrlərində VPS IP ünvanını, istifadəçi adı və şifrəni göstərmək kifayətdir. Qoşulduqdan sonra belə bir şey görəcəyik:

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın
İş masası mühitinin ilkin qurulmasından sonra tam hüquqlu iş masası alacağıq. Gördüyünüz kimi, çoxlu resurs istehlak etmir, baxmayaraq ki, hər şey istifadə olunan tətbiqlərdən asılı olacaq.

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın
Xrdp serveri yalnız localhost-u dinləyirsə, müştəri kompüterindəki trafik SSH tunelində paketlənməlidir (sshd VPS-də işləməlidir). Windows-da siz qrafik SSH müştərisindən (məsələn, PuTTY) istifadə edə bilərsiniz və UNIX sistemlərində sizə ssh yardım proqramı lazımdır:

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

Tunel işə salındıqdan sonra RDP müştəri artıq uzaq serverə deyil, yerli hosta qoşulacaq.

Mobil cihazlarla daha çətindir: tunel qaldıra bilən SSH müştəriləri satın alınmalı olacaq və iOS və iPadOS-da enerji istehlakının çox yaxşı optimallaşdırılması səbəbindən üçüncü tərəf proqramlarının arxa planda işləməsi çətindir. iPhone və iPad-də ayrıca proqramda tunel yarada bilməyəcəksiniz; sizə SSH vasitəsilə RDP bağlantısı qura bilən kombayn proqramı lazımdır. Məsələn, kimi Remoter Pro.

Sessiya Meneceri və İstifadəçi Sessiyaları

Çox istifadəçi ilə işləmək imkanı birbaşa Xrdp serverində həyata keçirilir və əlavə konfiqurasiya tələb etmir. Systemd vasitəsilə xidmətə başladıqdan sonra bir proses demon rejimində işləyir, 3389 portunu dinləyir və seans meneceri ilə localhost vasitəsilə əlaqə saxlayır.

ps aux |grep xrdp

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın

sudo netstat -ap |grep xrdp

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın
Sessiya meneceri adətən istifadəçilərə görünmür, çünki müştəri parametrlərində göstərilən giriş və parol avtomatik olaraq ona ötürülür. Əgər bu baş vermirsə və ya autentifikasiya zamanı xəta baş verərsə, masa üstü əvəzinə interaktiv giriş pəncərəsi görünəcək.

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın
Sessiya menecerinin avtomatik işə salınması /etc/default/xrdp faylında göstərilib və konfiqurasiya /etc/xrdp/sesman.ini-də saxlanılır. Varsayılan olaraq, bu kimi görünür:

[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]

Burada heç nəyi dəyişmək lazım deyil, sadəcə olaraq kök hüquqları ilə girişi deaktiv etməlisiniz (AllowRootLogin=false). Sistemdə səlahiyyətli hər bir istifadəçi üçün ayrıca xrdp prosesi işə salınır: sessiyanı bitirmədən əlaqəni kəssəniz, istifadəçi prosesləri standart olaraq işləməyə davam edəcək və siz yenidən sessiyaya qoşula bilərsiniz. Parametrlər /etc/xrdp/sesman.ini faylında dəyişdirilə bilər ([Sessions] bölməsi).

Klaviatura düzümlərinin dəyişdirilməsi

İki tərəfli mübadilə buferində ümumiyyətlə heç bir problem yoxdur, lakin rus klaviaturası ilə bir az oynamalı olacaqsınız (rus dili artıq olmalıdır) quraşdırılmışdır). Xrdp serverinin klaviatura parametrlərini redaktə edək:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Konfiqurasiya faylının sonuna aşağıdakı sətirləri əlavə etməlisiniz:

[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

Qalan yalnız faylı saxlamaq və Xrdp-ni yenidən başlatmaqdır:

sudo systemctl restart xrdp

Gördüyünüz kimi, Linux VPS-də RDP server qurmaq çətin deyil, amma əvvəlki məqalə Artıq VNC quraşdırmasını müzakirə etdik. Bu texnologiyalara əlavə olaraq, daha bir maraqlı variant var: dəyişdirilmiş NX 3 protokolundan istifadə edən X2Go sistemi. Növbəti nəşrdə bununla məşğul olacağıq.

GUI ilə Linux-da VPS: Ubuntu 18.04-də RDP Serverini işə salın

Mənbə: www.habr.com

Добавить комментарий