Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу
В алдыңғы мақала біз кез келген түрдегі виртуалды машинада VNC серверін іске қосуды талқыладық. Бұл опцияның көптеген кемшіліктері бар, олардың ең бастысы - деректерді беру арналарының өткізу қабілетіне қойылатын жоғары талаптар. Бүгін біз RDP (Remote Desktop Protocol) арқылы Linux жүйесіндегі графикалық жұмыс үстеліне қосылуға тырысамыз. VNC жүйесі RFB (Remote Framebuffer) протоколы арқылы пикселдер массивтерін беруге негізделген, ал RDP күрделі графикалық примитивтер мен жоғары деңгейлі командаларды жіберуге мүмкіндік береді. Ол әдетте Windows жүйесінде қашықтағы жұмыс үстелі қызметтерін орналастыру үшін пайдаланылады, бірақ Linux серверлері де қол жетімді.

Мазмұны:

Графикалық ортаны орнату
Серверді орыстандыру және бағдарламалық қамтамасыз етуді орнату
RDP серверін орнату және конфигурациялау
Брандмауэр орнату
RDP серверіне қосылу
Сеанс менеджері және пайдаланушы сеанстары
Пернетақта орналасуларын ауыстыру

Графикалық ортаны орнату

Біз Ubuntu Server 18.04 LTS екі есептеуіш ядросы, төрт гигабайт жедел жады және жиырма гигабайт қатты дискі (HDD) бар виртуалды машинаны аламыз. Әлсіз конфигурация графикалық жұмыс үстелі үшін жарамайды, бірақ бұл шешілетін тапсырмаларға байланысты. Тапсырысыңызға 10% жеңілдік алу үшін Habrahabr10 промо-кодын пайдалануды ұмытпаңыз.

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу
Жұмыс үстелі ортасын барлық тәуелділіктермен орнату келесі пәрменмен орындалады:

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

Алдыңғы жағдайдағыдай, біз XFCE-ті оның салыстырмалы түрде төмен есептеу ресурстарына қойылатын талаптарға байланысты таңдадық.

Серверді орыстандыру және бағдарламалық қамтамасыз етуді орнату

Жиі виртуалды машиналар ағылшын локализациясымен ғана орналастырылады. Жұмыс үстелінде сізге орыс тілі қажет болуы мүмкін, оны орнату оңай. Алдымен жүйелік бағдарламалар үшін аудармаларды орнатайық:

sudo apt-get install language-pack-ru

Локализацияны орнатайық:

sudo update-locale LANG=ru_RU.UTF-8

Дәл осындай әсерге /etc/default/locale қолмен өңдеу арқылы қол жеткізуге болады.

GNOME және KDE локализациясы үшін репозиторийде language-pack-gnome-ru және language-pack-kde-ru бумалары бар - егер сіз осы жұмыс үстелі орталарының бағдарламаларын пайдалансаңыз, олар сізге қажет болады. XFCE-де аудармалар қолданбалармен орнатылады. Содан кейін сөздіктерді орнатуға болады:

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

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

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

Сонымен қатар, кейбір қолданбалы бағдарламалар үшін аудармаларды орнату қажет болуы мүмкін:

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

Бұл жұмыс үстелі ортасын дайындауды аяқтайды, RDP серверін конфигурациялау ғана қалады.

RDP серверін орнату және конфигурациялау

Ubuntu репозитарийлерінде еркін таратылатын Xrdp сервері бар, біз оны пайдаланамыз:

sudo apt-get install xrdp

Егер бәрі жақсы болса, сервер автоматты түрде іске қосылуы керек:

sudo systemctl status xrdp

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу
Xrdp сервері xrdp пайдаланушы құқықтарымен жұмыс істейді және әдепкі бойынша /etc/ssl/private/ssl-cert-snakeoil.key сертификатын алады, оны өзіңіздікімен ауыстыруға болады. Файлды оқуға рұқсат алу үшін пайдаланушыны ssl-cert тобына қосу керек:

sudo adduser xrdp ssl-cert

Әдепкі параметрлерді /etc/default/xrdp файлынан табуға болады, ал басқа сервер конфигурациясының файлдары /etc/xrdp каталогында орналасқан. Негізгі параметрлер xrdp.ini файлында, оны өзгерту қажет емес. Конфигурация жақсы құжатталған және сәйкес басқару беттері қамтылған:

man xrdp.ini
man xrdp

Пайдаланушы сеансы инициализацияланған кезде орындалатын /etc/xrdp/startwm.sh сценарийін өңдеу ғана қалады. Алдымен, дистрибутивтен сценарийдің сақтық көшірмесін жасайық:

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

XFCE жұмыс үстелі ортасын іске қосу үшін сізге келесідей сценарий қажет:

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

Назар аударыңыз: сценарийлерде орындалатын файлдарға толық жолды жазған дұрыс - бұл жақсы әдет. Сценарийді орындалатын етіп жасайық және осы кезде Xrdp серверін орнату аяқталды деп санауға болады:

sudo chmod 755 /etc/xrdp/startwm.sh

Серверді қайта іске қосыңыз:

sudo systemctl restart xrdp

Брандмауэр орнату

Әдепкі бойынша, Xrdp барлық интерфейстерде TCP 3389 портын тыңдайды. Виртуалды сервер конфигурациясына байланысты Netfilter брандмауэрін конфигурациялау қажет болуы мүмкін. Linux жүйесінде бұл әдетте iptables утилитасының көмегімен жасалады, бірақ Ubuntu жүйесінде ufw пайдалану жақсы. Егер клиенттің IP мекенжайы белгілі болса, конфигурациялау келесі пәрмен арқылы жүзеге асырылады:

sudo ufw allow from IP_Address to any port 3389

Кез келген IP-ден қосылымдарға келесідей рұқсат беруге болады:

sudo ufw allow 3389

RDP протоколы шифрлауды қолдайды, бірақ Xrdp серверін жалпыға қолжетімді желілерге шығару жаман идея. Клиентте тіркелген IP болмаса, қауіпсіздікті арттыру үшін сервер тек жергілікті хостты тыңдауы керек. Оған клиенттік компьютерден трафикті қауіпсіз бағыттайтын SSH туннелі арқылы қол жеткізген дұрыс. Бізде де осындай көзқарас бар алдыңғы мақалада қолданылған VNC серверіне арналған.

RDP серверіне қосылу

Жұмыс үстелі ортасымен жұмыс істеу үшін жеке артықшылықсыз пайдаланушыны жасаған дұрыс:

sudo adduser rdpuser

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу
Әкімшілікке қатысты тапсырмаларды орындауы үшін пайдаланушыны sudo тобына қосамыз. Егер мұндай қажеттілік болмаса, бұл қадамды өткізіп жіберуге болады:

sudo gpasswd -a rdpuser sudo

Кез келген RDP клиентін, соның ішінде кірістірілген Windows қашықтағы жұмыс үстелі қызметтерінің клиентін пайдаланып серверге қосылуға болады. Xrdp сыртқы интерфейсті тыңдап жатса, қосымша әрекеттер қажет болмайды. Қосылым параметрлерінде VPS IP мекенжайын, пайдаланушы аты мен құпия сөзді көрсету жеткілікті. Қосылғаннан кейін біз келесідей нәрсені көреміз:

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу
Жұмыс үстелі ортасын бастапқы орнатудан кейін біз толыққанды жұмыс үстелін аламыз. Көріп отырғаныңыздай, ол көп ресурстарды тұтынбайды, дегенмен бәрі қолданылатын қолданбаларға байланысты болады.

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу
Егер Xrdp сервері тек жергілікті хостты тыңдаса, клиенттік компьютердегі трафик SSH туннеліне жинақталуы керек (sshd VPS жүйесінде жұмыс істеуі керек). Windows жүйесінде графикалық SSH клиентін (мысалы, PuTTY) пайдалануға болады, ал UNIX жүйелерінде ssh утилитасы қажет:

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

Туннель іске қосылғаннан кейін RDP клиенті қашықтағы серверге қосылмайды, бірақ жергілікті хостқа қосылады.

Мобильді құрылғылармен бұл қиынырақ: туннельді көтеруге қабілетті SSH клиенттерін сатып алу керек, ал iOS және iPadOS жүйелерінде энергияны тұтынуды тым жақсы оңтайландыруға байланысты үшінші тарап қолданбаларының фондық жұмысы қиын. iPhone және iPad құрылғыларында сіз бөлек қолданбада туннель жасай алмайсыз; сізге SSH арқылы RDP қосылымын орната алатын комбайн қолданбасы қажет болады. Мысалы, мысалы Remoter Pro.

Сеанс менеджері және пайдаланушы сеанстары

Көп қолданушымен жұмыс істеу мүмкіндігі тікелей Xrdp серверінде жүзеге асырылады және қосымша конфигурацияны қажет етпейді. Қызметті systemd арқылы іске қосқаннан кейін бір процесс демон режимінде жұмыс істейді, 3389 портын тыңдайды және сеанс менеджерімен localhost арқылы байланысады.

ps aux |grep xrdp

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу

sudo netstat -ap |grep xrdp

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу
Сеанс менеджері әдетте пайдаланушыларға көрінбейді, себебі клиент параметрлерінде көрсетілген логин мен құпия сөз оған автоматты түрде тасымалданады. Егер бұл орын алмаса немесе аутентификация кезінде қате болса, жұмыс үстелінің орнына интерактивті кіру терезесі пайда болады.

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу
Сеанс менеджерін автоматты түрде іске қосу /etc/default/xrdp файлында көрсетілген және конфигурация /etc/xrdp/sesman.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]

Мұнда ештеңені өзгертудің қажеті жоқ, тек түбірлік құқықтармен кіруді өшіру керек (AllowRootLogin=false). Жүйеде рұқсат етілген әрбір пайдаланушы үшін бөлек xrdp процесі іске қосылады: сеансты аяқтамай ажыратсаңыз, пайдаланушы процестері әдепкі бойынша жұмыс істей береді және сеансқа қайта қосылуға болады. Параметрлерді /etc/xrdp/sesman.ini файлында өзгертуге болады ([Сессиялар] бөлімі).

Пернетақта орналасуларын ауыстыру

Әдетте екі жақты алмасу буферінде проблемалар болмайды, бірақ орыс тіліндегі пернетақта орналасуымен сіз аздап ойнауға тура келеді (орыс тілі бұрыннан болуы керек) орнатылған). Xrdp серверінің пернетақта параметрлерін өңдейік:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Конфигурация файлының соңына келесі жолдарды қосу керек:

[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

Файлды сақтау және Xrdp қайта іске қосу ғана қалады:

sudo systemctl restart xrdp

Көріп отырғаныңыздай, Linux VPS жүйесінде RDP серверін орнату қиын емес, бірақ алдыңғы мақала Біз VNC орнатуды талқыладық. Осы технологиялардан басқа, тағы бір қызықты нұсқа бар: модификацияланған NX 3 протоколын пайдаланатын X2Go жүйесі. Оны келесі басылымда қарастырамыз.

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде RDP серверін іске қосу

Ақпарат көзі: www.habr.com

пікір қалдыру