Графикалык интерфейси бар Linux боюнча VPS: Ubuntu 18.04 боюнча RDP серверин ишке киргизүү

Графикалык интерфейси бар Linux боюнча VPS: Ubuntu 18.04 боюнча RDP серверин ишке киргизүү
В мурунку макала биз каалаган түрдөгү виртуалдык машинада VNC серверин иштетүүнү талкууладык. Бул опциянын көптөгөн кемчиликтери бар, алардын эң негизгиси - маалыматтарды берүү каналдарынын өткөрүү жөндөмдүүлүгүнө жогорку талаптар. Бүгүн биз RDP (Remote Desktop Protocol) аркылуу Linuxтун графикалык иш тактасына туташууга аракет кылабыз. VNC системасы RFB (Remote Framebuffer) протоколунун жардамы менен пикселдердин массивдерин берүүгө негизделген жана RDP татаал графикалык примитивдерди жана жогорку деңгээлдеги буйруктарды жөнөтүүгө мүмкүндүк берет. Ал, адатта, Windows'та Remote Desktop Services хостинг үчүн колдонулат, бирок Linux үчүн серверлер да бар.

Мазмуну:

Графикалык чөйрөнү орнотуу
Серверди орусташтыруу жана программалык камсыздоону орнотуу
RDP серверин орнотуу жана конфигурациялоо
Firewall орнотуу
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

Firewall орнотуу

Демейки боюнча, 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 Remote Desktop Services кардарын колдонуп серверге туташа аласыз. Эгерде 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 серверин ишке киргизүү

Source: www.habr.com

Комментарий кошуу