ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04
В претходни чланак разговарали смо о покретању ВНЦ сервера на виртуелној машини било ког типа. Ова опција има пуно недостатака, од којих су главни високи захтеви за пропусност канала за пренос података. Данас ћемо покушати да се повежемо са графичком радном површином на Линук-у преко РДП-а (Ремоте Десктоп Протоцол). ВНЦ систем се заснива на преношењу низова пиксела коришћењем РФБ (Ремоте Фрамебуффер) протокола, а РДП вам омогућава да шаљете сложеније графичке примитиве и команде високог нивоа. Обично се користи за хостовање услуга удаљене радне површине на Виндовс-у, али су доступни и сервери за Линук.

Оглашение:

Инсталирање графичког окружења
Русификација сервера и инсталација софтвера
Инсталирање и конфигурисање РДП сервера
Постављање заштитног зида
Повезивање на РДП сервер
Менаџер сесија и корисничке сесије
Промена распореда тастатуре

Инсталирање графичког окружења

Узећемо виртуелну машину са Убунту Сервер 18.04 ЛТС са два рачунарска језгра, четири гигабајта РАМ-а и хард диском од двадесет гигабајта (ХДД). Слабија конфигурација није погодна за графичку радну површину, иако то зависи од задатака који се решавају. Не заборавите да користите промо код Хабрахабр10 да бисте добили 10% попуста на своју поруџбину.

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04
Инсталирање десктоп окружења са свим зависностима врши се следећом командом:

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

Као иу претходном случају, изабрали смо КСФЦЕ због релативно ниских захтева за рачунарским ресурсима.

Русификација сервера и инсталација софтвера

Често се виртуелне машине постављају само са енглеском локализацијом. На радној површини ће вам можда требати руски језик, који је лако подесити. Прво, хајде да инсталирамо преводе за системске програме:

sudo apt-get install language-pack-ru

Хајде да поставимо локализацију:

sudo update-locale LANG=ru_RU.UTF-8

Исти ефекат се може постићи ручним уређивањем /етц/дефаулт/лоцале.

За локализацију ГНОМЕ-а и КДЕ-а, спремиште има пакете лангуаге-пацк-гноме-ру и лангуаге-пацк-кде-ру - биће вам потребни ако користите програме из ових десктоп окружења. У КСФЦЕ, преводи се инсталирају са апликацијама. Затим можете инсталирати речнике:

# Словари для проверки орфографии
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

Овим је завршена припрема десктоп окружења, остаје само да се конфигурише РДП сервер.

Инсталирање и конфигурисање РДП сервера

Убунту спремишта имају слободно дистрибуиран Ксрдп сервер, који ћемо користити:

sudo apt-get install xrdp

Ако је све прошло добро, сервер би требало да се покрене аутоматски:

sudo systemctl status xrdp

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04
Ксрдп сервер ради са крдп корисничким правима и подразумевано узима /етц/ссл/привате/ссл-церт-снакеоил.кеи сертификат, који се може заменити вашим. Да бисте имали приступ читању датотеке, потребно је да додате корисника у ссл-церт групу:

sudo adduser xrdp ssl-cert

Подразумеване поставке се могу наћи у датотеци /етц/дефаулт/крдп, а све остале конфигурационе датотеке сервера се налазе у директоријуму /етц/крдп. Главни параметри се налазе у датотеци крдп.ини, коју не треба мењати. Конфигурација је добро документована, а укључене су и одговарајуће ман-странице:

man xrdp.ini
man xrdp

Остаје само да уредите /етц/крдп/стартвм.сх скрипту, која се извршава када се иницијализује корисничка сесија. Прво, направимо резервну копију скрипте из дистрибуције:

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

Да бисте покренули КСФЦЕ десктоп окружење, требаће вам скрипта отприлике овако:

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

Имајте на уму: у скриптама је боље написати пуну путању до извршних датотека - то је добра навика. Хајде да учинимо скрипту извршном и у овом тренутку се подешавање Ксрдп сервера може сматрати завршеним:

sudo chmod 755 /etc/xrdp/startwm.sh

Поново покрените сервер:

sudo systemctl restart xrdp

Постављање заштитног зида

Ксрдп подразумевано слуша ТЦП порт 3389 на свим интерфејсима. У зависности од конфигурације виртуелног сервера, можда ћете морати да конфигуришете заштитни зид Нетфилтер. На Линук-у се то обично ради помоћу услужног програма иптаблес, али на Убунту-у је боље користити уфв. Ако је ИП адреса клијента позната, конфигурација се врши следећом командом:

sudo ufw allow from IP_Address to any port 3389

Можете дозволити везе са било које ИП адресе на следећи начин:

sudo ufw allow 3389

РДП протокол подржава шифровање, али излагање Ксрдп сервера јавним мрежама је лоша идеја. Ако клијент нема фиксну ИП адресу, сервер би требало да слуша само лоцалхост да би повећао безбедност. Најбоље му је приступити преко ССХ тунела, који ће безбедно преусмерити саобраћај са клијентског рачунара. Имамо сличан приступ коришћено у претходном чланку за ВНЦ сервер.

Повезивање на РДП сервер

Да бисте радили са радним окружењем, боље је да направите засебног непривилегованог корисника:

sudo adduser rdpuser

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04
Хајде да додамо корисника у судо групу како би могао да обавља задатке везане за администрацију. Ако нема такве потребе, можете прескочити овај корак:

sudo gpasswd -a rdpuser sudo

Можете се повезати са сервером помоћу било ког РДП клијента, укључујући уграђени Виндовс клијент услуга удаљене радне површине. Ако Ксрдп слуша екстерни интерфејс, додатне радње неће бити потребне. Довољно је навести ВПС ИП адресу, корисничко име и лозинку у подешавањима везе. Након повезивања, видећемо нешто овако:

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04
Након почетног подешавања десктоп окружења, добићемо пуноправну радну површину. Као што видите, не троши много ресурса, иако ће све зависити од апликација које се користе.

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04
Ако Ксрдп сервер слуша само лоцалхост, саобраћај на клијентском рачунару ће морати да буде спакован у ССХ тунел (ссхд мора да ради на ВПС-у). На Виндовс-у можете користити графички ССХ клијент (на пример, ПуТТИ), а на УНИКС системима вам је потребан ссх услужни програм:

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

Након што се тунел иницијализује, РДП клијент се више неће повезивати на удаљени сервер, већ на локални хост.

Са мобилним уређајима је теже: ССХ клијенти који могу да подигну тунел ће морати да се купе, а у иОС-у и иПадОС-у позадински рад апликација трећих страна је отежан због превише добре оптимизације потрошње енергије. На иПхоне-у и иПад-у нећете моћи да креирате тунел у засебној апликацији; биће вам потребна апликација за харвестер која сама може да успостави РДП везу преко ССХ-а. Као што је нпр Ремотер Про.

Менаџер сесија и корисничке сесије

Могућност вишекорисничког рада имплементирана је директно у Ксрдп сервер и не захтева додатну конфигурацију. Након покретања услуге преко системд-а, један процес ради у демонском режиму, слуша порт 3389 и комуницира преко локалног хоста са менаџером сесије.

ps aux |grep xrdp

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04

sudo netstat -ap |grep xrdp

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04
Менаџер сесија обично није видљив корисницима, јер се на њега аутоматски преносе логин и лозинка наведени у подешавањима клијента. Ако се то не догоди или дође до грешке током аутентификације, уместо радне површине ће се појавити интерактивни прозор за пријаву.

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04
Аутоматско покретање менаџера сесије је наведено у /етц/дефаулт/крдп датотеци, а конфигурација се чува у /етц/крдп/сесман.ини. Подразумевано изгледа отприлике овако:

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

Овде не морате ништа да мењате, само морате да онемогућите пријављивање са роот правима (АлловРоотЛогин=фалсе). За сваког корисника овлашћеног у систему, покреће се посебан крдп процес: ако прекинете везу без завршетка сесије, кориснички процеси ће наставити да се покрећу подразумевано и можете се поново повезати на сесију. Подешавања се могу променити у датотеци /етц/крдп/сесман.ини (одељак [Сесије]).

Промена распореда тастатуре

Обично нема проблема са двосмерним међуспремником, али са руским распоредом тастатуре мораћете мало да се поиграте (руски локал би требало да буде већ инсталиран). Уредимо подешавања тастатуре Ксрдп сервера:

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

Остаје само да сачувате датотеку и поново покренете Ксрдп:

sudo systemctl restart xrdp

Као што видите, није тешко поставити РДП сервер на Линук ВПС, али претходни чланак Већ смо разговарали о подешавању ВНЦ-а. Поред ових технологија, постоји још једна занимљива опција: систем Кс3Го који користи модификовани НКС 2 протокол. О томе ћемо се бавити у следећој публикацији.

ВПС на Линуку са графичким интерфејсом: покретање РДП сервера на Убунту 18.04

Извор: ввв.хабр.цом

Додај коментар