VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04
В artikolu preċedenti iddiskutejna t-tmexxija ta 'server VNC fuq magna virtwali ta' kull tip. Din l-għażla għandha ħafna żvantaġġi, li wieħed ewlieni minnhom huwa r-rekwiżiti għoljin għat-trażmissjoni tal-kanali tat-trażmissjoni tad-dejta. Illum se nippruvaw nikkonnettjaw ma' desktop grafiku fuq Linux permezz ta' RDP (Remote Desktop Protocol). Is-sistema VNC hija bbażata fuq it-trażmissjoni ta 'arrays ta' pixels bl-użu tal-protokoll RFB (Remote Framebuffer), u RDP jippermettilek li tibgħat primittivi ta 'grafika aktar kumplessi u kmandi ta' livell għoli. Tipikament jintuża biex jospita Servizzi ta' Desktop Remote fuq il-Windows, iżda servers għal Linux huma wkoll disponibbli.

Werrej:

Installazzjoni tal-ambjent grafiku
Russifikazzjoni tas-server u installazzjoni tas-softwer
Installazzjoni u konfigurazzjoni ta' server RDP
Twaqqif ta 'firewall
Konnessjoni ma' server RDP
Maniġer tas-Sessjoni u Sessjonijiet tal-Utenti
Qlib tat-taqsim tat-tastiera

Installazzjoni tal-ambjent grafiku

Se nieħdu magna virtwali b'Ubuntu Server 18.04 LTS b'żewġ cores tal-kompjuters, erba 'gigabytes ta' RAM u għoxrin gigabyte hard drive (HDD). Konfigurazzjoni aktar dgħajfa mhix adattata għal desktop grafiku, għalkemm dan jiddependi fuq il-kompiti li qed jiġu solvuti. Tinsiex tuża l-kodiċi promozzjonali Habrahabr10 biex tikseb skont ta' 10% fuq l-ordni tiegħek.

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04
L-installazzjoni tal-ambjent tad-desktop bid-dipendenzi kollha ssir bil-kmand li ġej:

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

Bħal fil-każ preċedenti, għażilna XFCE minħabba r-rekwiżiti tar-riżorsi tal-kompjuter relattivament baxxi tiegħu.

Russifikazzjoni tas-server u installazzjoni tas-softwer

Ħafna drabi magni virtwali huma skjerati biss b'lokalizzazzjoni bl-Ingliż. Fuq id-desktop jista 'jkollok bżonn Russu, li huwa faċli biex twaqqaf. L-ewwel, ejja ninstallaw traduzzjonijiet għall-programmi tas-sistema:

sudo apt-get install language-pack-ru

Ejja nwaqqfu l-lokalizzazzjoni:

sudo update-locale LANG=ru_RU.UTF-8

L-istess effett jista 'jinkiseb billi teditja manwalment il-/etc/default/locale.

Għall-lokalizzazzjoni ta' GNOME u KDE, ir-repożitorju għandu l-pakketti language-pack-gnome-ru u language-pack-kde-ru - ser ikollok bżonnhom jekk tuża programmi minn dawn l-ambjenti tad-desktop. F'XFCE, it-traduzzjonijiet huma installati bl-applikazzjonijiet. Sussegwentement tista' tinstalla d-dizzjunarji:

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

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

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

Barra minn hekk, l-installazzjoni ta’ traduzzjonijiet tista’ tkun meħtieġa għal xi programmi ta’ applikazzjoni:

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

Dan itemm il-preparazzjoni tal-ambjent tad-desktop, li jibqa 'huwa li jiġi kkonfigurat is-server RDP.

Installazzjoni u konfigurazzjoni ta' server RDP

Ir-repożitorji Ubuntu għandhom server Xrdp distribwit liberament, li se nużaw:

sudo apt-get install xrdp

Jekk kollox mar tajjeb, is-server għandu jibda awtomatikament:

sudo systemctl status xrdp

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04
Is-server Xrdp jaħdem bi drittijiet tal-utent xrdp u b'mod awtomatiku jieħu ċ-ċertifikat /etc/ssl/private/ssl-cert-snakeoil.key, li jista' jiġi sostitwit b'dak tiegħek. Biex ikollok aċċess biex taqra l-fajl, trid iżżid l-utent mal-grupp ssl-cert:

sudo adduser xrdp ssl-cert

Is-settings default jistgħu jinstabu fil-fajl /etc/default/xrdp, u l-fajls l-oħra kollha tal-konfigurazzjoni tas-server jinsabu fid-direttorju /etc/xrdp. Il-parametri ewlenin jinsabu fil-fajl xrdp.ini, li m'għandux għalfejn jinbidel. Il-konfigurazzjoni hija dokumentata sew, u l-manpages korrispondenti huma inklużi:

man xrdp.ini
man xrdp

Li jibqa 'huwa li teditja l-iskrittura /etc/xrdp/startwm.sh, li tiġi eżegwita meta s-sessjoni tal-utent tiġi inizjalizzata. L-ewwel, ejja nagħmlu kopja ta 'backup tal-iskrittura mid-distribuzzjoni:

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

Biex tibda l-ambjent tad-desktop XFCE, ikollok bzonn skript xi ħaġa bħal din:

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

Jekk jogħġbok innota: fl-iskripts huwa aħjar li tikteb il-mogħdija sħiħa għall-fajls eżekutibbli - dan huwa vizzju tajjeb. Ejja nagħmlu l-iskript eżekutibbli u f'dan il-punt is-setup tas-server Xrdp tista 'titqies kompluta:

sudo chmod 755 /etc/xrdp/startwm.sh

Ibda mill-ġdid is-server:

sudo systemctl restart xrdp

Twaqqif ta 'firewall

B'mod awtomatiku, Xrdp jisma' l-port TCP 3389 fuq l-interfaces kollha. Skont il-konfigurazzjoni tas-server virtwali, jista 'jkollok bżonn tikkonfigura firewall Netfilter. Fuq Linux dan normalment isir bl-użu tal-utilità iptables, iżda fuq Ubuntu huwa aħjar li tuża ufw. Jekk l-indirizz IP tal-klijent huwa magħruf, il-konfigurazzjoni titwettaq bil-kmand li ġej:

sudo ufw allow from IP_Address to any port 3389

Tista' tippermetti konnessjonijiet minn kwalunkwe IP bħal dan:

sudo ufw allow 3389

Il-protokoll RDP jappoġġja l-encryption, iżda l-esponiment tas-server Xrdp għal netwerks pubbliċi hija idea ħażina. Jekk il-klijent m'għandux IP fiss, is-server għandu jisma' biss lil localhost biex iżid is-sigurtà. L-aħjar huwa li taċċessaha permezz ta 'mina SSH, li se terġa' tindirizza b'mod sigur it-traffiku mill-kompjuter tal-klijent. Għandna approċċ simili użata fl-artikolu preċedenti għal server VNC.

Konnessjoni ma' server RDP

Biex taħdem mal-ambjent tad-desktop, huwa aħjar li toħloq utent mhux privileġġjat separat:

sudo adduser rdpuser

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04
Ejja nżidu l-utent mal-grupp sudo sabiex ikun jista 'jwettaq kompiti relatati mal-amministrazzjoni. Jekk ma jkunx hemm tali ħtieġa, tista 'taqbeż dan il-pass:

sudo gpasswd -a rdpuser sudo

Tista' tikkonnettja mas-server billi tuża kwalunkwe klijent RDP, inkluż il-klijent tas-Servizzi tad-Desktop mill-bogħod Windows inkorporat. Jekk Xrdp qed jisma 'l-interface esterna, l-ebda azzjonijiet addizzjonali ma jkunu meħtieġa. Huwa biżżejjed li tispeċifika l-indirizz IP tal-VPS, l-isem tal-utent u l-password fis-settings tal-konnessjoni. Wara l-konnessjoni, se naraw xi ħaġa bħal din:

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04
Wara s-setup inizjali tal-ambjent tad-desktop, se jkollna desktop sħiħ. Kif tistgħu taraw, ma tikkonsmax ħafna riżorsi, għalkemm kollox jiddependi fuq l-applikazzjonijiet użati.

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04
Jekk is-server Xrdp jisma' biss lil localhost, it-traffiku fuq il-kompjuter klijent ikollu jiġi ppakkjat f'mina SSH (sshd irid ikun qed jaħdem fuq il-VPS). Fuq Windows, tista 'tuża klijent SSH grafiku (per eżempju, PuTTY), u fuq sistemi UNIX għandek bżonn l-utilità ssh:

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

Wara li l-mina tiġi inizjalizzata, il-klijent RDP ma jibqax jgħaqqad mas-server remot, iżda mal-host lokali.

Huwa aktar diffiċli b'apparat mobbli: klijenti SSH kapaċi jgħollu mina se jkollhom jinxtraw, u f'iOS u iPadOS, l-operat fl-isfond ta 'applikazzjonijiet ta' partijiet terzi huwa diffiċli minħabba ottimizzazzjoni wisq tajba tal-konsum tal-enerġija. Fuq l-iPhone u l-iPad, ma tkunx tista' toħloq mina f'applikazzjoni separata; ser ikollok bżonn applikazzjoni tal-ħsad li tista' hi stess tistabbilixxi konnessjoni RDP permezz ta' SSH. Bħal, pereżempju Remoter Pro.

Maniġer tas-Sessjoni u Sessjonijiet tal-Utenti

Il-ħila għal xogħol multi-utenti hija implimentata direttament fis-server Xrdp u ma teħtieġx konfigurazzjoni addizzjonali. Wara li jibda s-servizz permezz ta 'systemd, proċess wieħed jaħdem fil-modalità daemon, jisma' fuq il-port 3389 u jikkomunika permezz tal-localhost mal-maniġer tas-sessjoni.

ps aux |grep xrdp

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04

sudo netstat -ap |grep xrdp

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04
Il-maniġer tas-sessjoni ġeneralment ma jkunx viżibbli għall-utenti, minħabba li l-login u l-password speċifikati fis-settings tal-klijent jiġu trasferiti lejh awtomatikament. Jekk dan ma jseħħx jew ikun hemm żball waqt l-awtentikazzjoni, se tidher tieqa tal-login interattiva minflok id-desktop.

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04
It-tnedija awtomatika tal-maniġer tas-sessjoni hija speċifikata fil-fajl /etc/default/xrdp, u l-konfigurazzjoni hija maħżuna f'/etc/xrdp/sesman.ini. B'mod awtomatiku jidher xi ħaġa bħal din:

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

M'għandekx għalfejn tbiddel xejn hawn, trid sempliċement tiddiżattiva l-login bid-drittijiet tal-għeruq (AllowRootLogin=false). Għal kull utent awtorizzat fis-sistema, jitnieda proċess xrdp separat: jekk tiskonnettja mingħajr ma ttemm is-sessjoni, il-proċessi tal-utent se jkomplu jaħdmu b'mod awtomatiku, u tista 'tikkonnettja mas-sessjoni mill-ġdid. Is-settings jistgħu jinbidlu fil-fajl /etc/xrdp/sesman.ini (sezzjoni [Sessjonijiet]).

Qlib tat-taqsim tat-tastiera

Ġeneralment ma jkun hemm l-ebda problemi bi clipboard b'żewġ direzzjonijiet, iżda bit-tqassim tat-tastiera Russa jkollok tilgħab ftit (il-lokal Russu għandu jkun diġà installat). Ejja neditjaw is-settings tat-tastiera tas-server Xrdp:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Trid iżżid il-linji li ġejjin fl-aħħar tal-fajl tal-konfigurazzjoni:

[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

Li jibqa 'huwa li tissejvja l-fajl u terġa' tibda Xrdp:

sudo systemctl restart xrdp

Kif tistgħu taraw, mhuwiex diffiċli li twaqqaf server RDP fuq Linux VPS, iżda artikolu preċedenti Diġà ddiskutejna s-setup tal-VNC. Minbarra dawn it-teknoloġiji, hemm għażla oħra interessanti: is-sistema X3Go li tuża protokoll NX 2 modifikat. Se nittrattawha fil-pubblikazzjoni li jmiss.

VPS fuq Linux b'interface grafika: tnedija ta 'server RDP fuq Ubuntu 18.04

Sors: www.habr.com