График интерфэйс бүхий Linux дээрх VPS: Ubuntu 18.04 дээр RDP сервер ажиллуулж байна

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

Агуулгын хүснэгт:

График орчныг суулгаж байна
Серверийг оросжуулах, програм хангамж суурилуулах
RDP серверийг суулгаж, тохируулж байна
Галт хана тохируулж байна
RDP серверт холбогдож байна
Сеанс менежер ба хэрэглэгчийн сессүүд
Гарын байрлалыг солих

График орчныг суулгаж байна

Бид хоёр тооцоолох цөм, дөрвөн гигабайт RAM, хорин гигабайт хатуу диск (HDD) бүхий Ubuntu Server 18.04 LTS бүхий виртуал машин авна. Илүү сул тохиргоо нь график ширээний компьютерт тохиромжгүй, гэхдээ энэ нь шийдэж буй ажлуудаас хамаарна. Захиалгаа 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гүй бол сервер аюулгүй байдлыг нэмэгдүүлэхийн тулд зөвхөн localhost-ийг сонсох ёстой. Үйлчлүүлэгч компьютерээс траффикийг найдвартай дахин чиглүүлэх 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 сервер зөвхөн localhost-ыг сонсдог бол үйлчлүүлэгч компьютер дээрх урсгалыг 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]

Та энд юу ч өөрчлөх шаардлагагүй, зөвхөн root эрхээр нэвтрэхийг идэвхгүй болгох хэрэгтэй (AllowRootLogin=false). Системд зөвшөөрөгдсөн хэрэглэгч бүрийн хувьд тусдаа xrdp процессыг эхлүүлдэг: хэрвээ та сессийг дуусгахгүйгээр салгавал хэрэглэгчийн процессууд анхдагч байдлаар үргэлжлүүлэн ажиллах бөгөөд та сесс рүү дахин холбогдох боломжтой. Тохиргоог /etc/xrdp/sesman.ini файлд ([Sessions] хэсэг) өөрчлөх боломжтой.

Гарын байрлалыг солих

Хоёр талын санах ойд ихэвчлэн асуудал гардаггүй, гэхдээ орос хэлний гарны зохион байгуулалтаар та бага зэрэг тоглох хэрэгтэй болно (орос хэл аль хэдийн байх ёстой). суулгасан). 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

сэтгэгдэл нэмэх