В
Mündəricat:
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.
İş 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
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
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
İ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:
İş 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.
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
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
sudo netstat -ap |grep xrdp
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.
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)
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
Mənbə: www.habr.com