В
Table di cuntenutu:
Installazione di l'ambiente graficu
Piglieremu una macchina virtuale cù Ubuntu Server 18.04 LTS cù dui core di computing, quattru gigabyte di RAM è un discu duru di vinti gigabyte (HDD). Una cunfigurazione più debule ùn hè micca adattata per un desktop gràficu, ancu s'ellu dipende di e funzioni chì sò risolte. Ùn vi scurdate di utilizà u codice promozionale Habrahabr10 per uttene un scontu di 10% nantu à u vostru ordine.
L'installazione di l'ambiente di u desktop cù tutte e dipendenze hè fatta cù u cumandimu seguente:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Cum'è in u casu precedente, avemu sceltu XFCE per via di e so esigenze di risorse informatiche relativamente bassu.
Russificazione di u servitore è installazione di software
Spessu e macchine virtuali sò implementate solu cù a localizazione inglese. Nant'à u desktop, pudete bisognu di u Russu, chì hè faciule d'installà. Prima, installemu traduzzioni per i prugrammi di u sistema:
sudo apt-get install language-pack-ru
Fighjemu a localizazione:
sudo update-locale LANG=ru_RU.UTF-8
U listessu effettu pò esse ottenutu editendu manualmente u /etc/default/locale.
Per a localizazione di GNOME è KDE, u repository hà i pacchetti language-pack-gnome-ru è language-pack-kde-ru - avete bisognu di elli se utilizate prugrammi da questi ambienti desktop. In XFCE, i traduzzioni sò stallati cù l'applicazioni. In seguitu pudete installà i dizionari:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
Inoltre, l'installazione di traduzzioni pò esse necessariu per alcuni prugrammi di l'applicazione:
# Браузер 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
Questu compie a preparazione di l'ambienti desktop, tuttu ciò chì resta hè di cunfigurà u servitore RDP.
Installazione è cunfigurazione di un servitore RDP
I repositori Ubuntu anu un servitore Xrdp distribuitu liberamente, chì useremu:
sudo apt-get install xrdp
Se tuttu hè andatu bè, u servitore deve principià automaticamente:
sudo systemctl status xrdp
U servitore Xrdp funziona cù diritti d'utilizatore xrdp è per difettu piglia u certificatu /etc/ssl/private/ssl-cert-snakeoil.key, chì pò esse rimpiazzatu cù u vostru propiu. Per avè accessu à leghje u schedariu, avete bisognu di aghjunghje l'utilizatore à u gruppu ssl-cert:
sudo adduser xrdp ssl-cert
I paràmetri predeterminati ponu esse truvati in u schedariu /etc/default/xrdp, è tutti l'altri schedarii di cunfigurazione di u servitore si trovanu in u cartulare /etc/xrdp. I paràmetri principali sò in u schedariu xrdp.ini, chì ùn hà micca bisognu di cambià. A cunfigurazione hè ben documentata, è i manpages currispondenti sò inclusi:
man xrdp.ini
man xrdp
Tuttu ciò chì resta hè di edità u script /etc/xrdp/startwm.sh, chì hè eseguitu quandu a sessione d'utilizatore hè inizializzata. Prima, facemu una copia di salvezza di u script da a distribuzione:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh
Per inizià l'ambiente desktop XFCE, avete bisognu di un script cum'è questu:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
Per piacè nutate: in scripts hè megliu scrive u percorsu sanu à i schedarii eseguibili - questu hè un bonu abitudine. Facemu u script eseguibile è à questu puntu a cunfigurazione di u servitore Xrdp pò esse cunsideratu cumpleta:
sudo chmod 755 /etc/xrdp/startwm.sh
Riavvia u servitore:
sudo systemctl restart xrdp
Configurazione di un firewall
Per automaticamente, Xrdp ascolta u portu TCP 3389 nantu à tutte l'interfacce. Sicondu a cunfigurazione di u servitore virtuale, pudete avè bisognu di cunfigurà un firewall Netfilter. In Linux questu hè generalmente fattu cù l'utilità iptables, ma in Ubuntu hè megliu aduprà ufw. Se l'indirizzu IP di u cliente hè cunnisciutu, a cunfigurazione hè realizata cù u cumandimu seguente:
sudo ufw allow from IP_Address to any port 3389
Pudete permette cunnessione da qualsiasi IP cum'è questu:
sudo ufw allow 3389
U protocolu RDP soporta a criptografia, ma l'esposizione di u servitore Xrdp à e rete publiche hè una mala idea. Se u cliente ùn hà micca una IP fissa, u servitore deve esse solu à sente u localhost per aumentà a sicurità. Hè megliu accede à ellu via un tunnel SSH, chì redirigerà in modu sicuru u trafficu da l'urdinatore cliente. Avemu un approcciu simili
Cunnessione à un servitore RDP
Per travaglià cù l'ambiente di u desktop, hè megliu creà un utilizatore senza privilegiu separatu:
sudo adduser rdpuser
Aghjunghjite l'utilizatore à u gruppu sudo per ch'ellu possa eseguisce attività amministrative. Se ùn ci hè micca bisognu, pudete saltà stu passu:
sudo gpasswd -a rdpuser sudo
Pudete cunnette à u servitore utilizendu qualsiasi cliente RDP, cumpresu u cliente Windows Remote Desktop Services integratu. Se Xrdp sta à sente l'interfaccia esterna, ùn serà micca necessariu azzione supplementaria. Hè abbastanza per specificà l'indirizzu IP VPS, u nome d'utilizatore è a password in i paràmetri di cunnessione. Dopu a cunnessione, vedemu qualcosa cum'è questu:
Dopu a cunfigurazione iniziale di l'ambiente desktop, averemu un desktop cumpletu. Comu pudete vede, ùn cunsuma micca assai risorse, ancu se tuttu dipende di l'applicazioni utilizati.
Se u servitore Xrdp ascolta solu u locale host, u trafficu nantu à l'urdinatore cliente duverà esse imballatu in un tunnel SSH (sshd deve esse in esecuzione nantu à u VPS). In Windows, pudete aduprà un cliente gràficu SSH (per esempiu, PuTTY), è in sistemi UNIX avete bisognu di l'utilità ssh:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip
Dopu chì u tunelu hè inizializatu, u cliente RDP ùn sarà più cunnessu à u servitore remotu, ma à l'ospite lucale.
Hè più difficiuli cù i dispositi mobili: i clienti SSH capaci di alzà un tunelu duverà esse acquistatu, è in iOS è iPadOS, l'operazione di fondo di l'applicazioni di terzu hè difficiule per una ottimisazione troppu bona di u cunsumu d'energia. Nantu à l'iPhone è l'iPad, ùn puderete micca creà un tunnel in una applicazione separata; avete bisognu di una applicazione di cugliera chì pò stabilisce una cunnessione RDP via SSH. Cume, per esempiu
Session Manager è User Sessions
A capacità di travagliu multi-utilizatori hè implementata direttamente in u servitore Xrdp è ùn hè micca bisognu di cunfigurazione supplementaria. Dopu avè principiatu u serviziu via systemd, un prucessu corre in modu daemon, ascolta u portu 3389 è cumunicà per u locale host cù u gestore di sessione.
ps aux |grep xrdp
sudo netstat -ap |grep xrdp
U gestore di sessione ùn hè generalmente micca visibile à l'utilizatori, perchè u login è a password specificata in i paràmetri di u cliente sò trasferiti automaticamente. Se questu ùn succede micca o ci hè un errore durante l'autentificazione, una finestra di login interattiva apparirà invece di u desktop.
U lanciamentu automaticu di u gestore di sessione hè specificatu in u schedariu /etc/default/xrdp, è a cunfigurazione hè guardata in /etc/xrdp/sesman.ini. Per automaticamente, pare qualcosa cusì:
[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]
Ùn ci vole micca cambià nunda quì, basta à disattivà u login cù diritti di root (AllowRootLogin=false). Per ogni utilizatore autorizatu in u sistema, un prucessu xrdp separatu hè lanciatu: se disconnette senza finisce a sessione, i prucessi di l'utilizatori continuanu à eseguisce per automaticamente, è pudete cunnette à a sessione di novu. I paràmetri ponu esse cambiati in u schedariu /etc/xrdp/sesman.ini (rùbbrica [Sessions]).
Cambia u layout di u teclatu
Di solitu ùn ci sò micca prublemi cù un clipboard bidirezionale, ma cù u layout di u teclatu russu duverà ghjucà un pocu (a locale russa deve esse digià
sudo nano /etc/xrdp/xrdp_keyboard.ini
Avete bisognu di aghjunghje e seguenti linee à a fine di u schedariu di cunfigurazione:
[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
Tuttu ciò chì resta hè di salvà u schedariu è riavvia Xrdp:
sudo systemctl restart xrdp
Comu pudete vede, ùn hè micca difficiule di stallà un servitore RDP in un VPS Linux, ma
Source: www.habr.com