В
Taula de continguts:
Instal·lació de l'entorn gràfic
Prenem una màquina virtual amb Ubuntu Server 18.04 LTS amb dos nuclis informàtics, quatre gigabytes de memòria RAM i un disc dur (HDD) de vint gigabytes. Una configuració més feble no és adequada per a un escriptori gràfic, tot i que això depèn de les tasques que es resolguin. No oblidis utilitzar el codi promocional Habrahabr10 per obtenir un descompte del 10% a la teva comanda.
La instal·lació de l'entorn d'escriptori amb totes les dependències es fa amb l'ordre següent:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Com en el cas anterior, vam triar XFCE a causa dels seus requisits de recursos informàtics relativament baixos.
Russificació del servidor i instal·lació de programari
Sovint, les màquines virtuals només es despleguen amb localització en anglès. A l'escriptori és possible que necessiteu rus, que és fàcil de configurar. Primer, instal·lem traduccions per als programes del sistema:
sudo apt-get install language-pack-ru
Configurem la localització:
sudo update-locale LANG=ru_RU.UTF-8
El mateix efecte es pot aconseguir editant manualment el fitxer /etc/default/locale.
Per a la localització de GNOME i KDE, el repositori té els paquets language-pack-gnome-ru i language-pack-kde-ru; els necessitareu si feu servir programes d'aquests entorns d'escriptori. A XFCE, les traduccions s'instal·len amb aplicacions. A continuació podeu instal·lar els diccionaris:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
A més, pot ser que calgui instal·lar traduccions per a alguns programes d'aplicació:
# Браузер 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
Així es completa la preparació de l'entorn d'escriptori, només queda configurar el servidor RDP.
Instal·lació i configuració d'un servidor RDP
Els repositoris d'Ubuntu tenen un servidor Xrdp distribuït lliurement, que farem servir:
sudo apt-get install xrdp
Si tot ha anat bé, el servidor hauria d'iniciar-se automàticament:
sudo systemctl status xrdp
El servidor Xrdp s'executa amb drets d'usuari xrdp i, per defecte, pren el certificat /etc/ssl/private/ssl-cert-snakeoil.key, que es pot substituir pel vostre. Per tenir accés per llegir el fitxer, cal afegir l'usuari al grup ssl-cert:
sudo adduser xrdp ssl-cert
La configuració predeterminada es pot trobar al fitxer /etc/default/xrdp, i tots els altres fitxers de configuració del servidor es troben al directori /etc/xrdp. Els paràmetres principals es troben al fitxer xrdp.ini, que no cal canviar-lo. La configuració està ben documentada i s'inclouen les pàgines de manual corresponents:
man xrdp.ini
man xrdp
Només queda editar l'script /etc/xrdp/startwm.sh, que s'executa quan s'inicia la sessió d'usuari. Primer, fem una còpia de seguretat de l'script des de la distribució:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh
Per iniciar l'entorn d'escriptori XFCE, necessitareu un script com aquest:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
Tingueu en compte: als scripts és millor escriure el camí complet als fitxers executables: aquest és un bon hàbit. Fem que l'script sigui executable i en aquest punt la configuració del servidor Xrdp es pot considerar completa:
sudo chmod 755 /etc/xrdp/startwm.sh
Reinicieu el servidor:
sudo systemctl restart xrdp
Configuració d'un tallafoc
Per defecte, Xrdp escolta el port TCP 3389 a totes les interfícies. Depenent de la configuració del servidor virtual, és possible que hàgiu de configurar un tallafoc de Netfilter. A Linux això es fa normalment amb la utilitat iptables, però a Ubuntu és millor utilitzar ufw. Si es coneix l'adreça IP del client, la configuració es realitza amb l'ordre següent:
sudo ufw allow from IP_Address to any port 3389
Podeu permetre connexions des de qualsevol IP com aquesta:
sudo ufw allow 3389
El protocol RDP admet el xifratge, però exposar el servidor Xrdp a xarxes públiques és una mala idea. Si el client no té una IP fixa, el servidor només hauria d'escoltar localhost per augmentar la seguretat. El millor és accedir-hi mitjançant un túnel SSH, que redirigirà de manera segura el trànsit des de l'ordinador client. Tenim un enfocament semblant
Connexió a un servidor RDP
Per treballar amb l'entorn d'escriptori, és millor crear un usuari sense privilegis independent:
sudo adduser rdpuser
Afegim l'usuari al grup sudo perquè pugui realitzar tasques relacionades amb l'administració. Si no és necessari, podeu ometre aquest pas:
sudo gpasswd -a rdpuser sudo
Podeu connectar-vos al servidor mitjançant qualsevol client RDP, inclòs el client de serveis d'escriptori remot de Windows integrat. Si Xrdp està escoltant la interfície externa, no caldrà cap acció addicional. N'hi ha prou amb especificar l'adreça IP del VPS, el nom d'usuari i la contrasenya a la configuració de connexió. Després de connectar-nos, veurem alguna cosa com això:
Després de la configuració inicial de l'entorn d'escriptori, obtindrem un escriptori complet. Com veieu, no consumeix molts recursos, tot i que tot dependrà de les aplicacions utilitzades.
Si el servidor Xrdp només escolta localhost, el trànsit de l'ordinador client s'haurà d'empaquetar en un túnel SSH (sshd s'ha d'executar al VPS). A Windows, podeu utilitzar un client SSH gràfic (per exemple, PuTTY) i en sistemes UNIX necessiteu la utilitat ssh:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip
Un cop inicialitzat el túnel, el client RDP ja no es connectarà al servidor remot, sinó a l'amfitrió local.
Amb els dispositius mòbils és més difícil: caldrà comprar clients SSH capaços d'aixecar un túnel, i a iOS i iPadOS, el funcionament en segon pla d'aplicacions de tercers és difícil a causa d'una optimització massa bona del consum d'energia. A l'iPhone i l'iPad, no podreu crear un túnel en una aplicació independent; necessitareu una aplicació recol·lectora que pugui establir una connexió RDP mitjançant SSH. Com per exemple
Gestor de sessions i sessions d'usuari
La capacitat de treballar multiusuari s'implementa directament al servidor Xrdp i no requereix configuració addicional. Després d'iniciar el servei mitjançant systemd, un procés s'executa en mode dimoni, escolta al port 3389 i es comunica mitjançant localhost amb el gestor de sessions.
ps aux |grep xrdp
sudo netstat -ap |grep xrdp
El gestor de sessions normalment no és visible per als usuaris, perquè l'inici de sessió i la contrasenya especificats a la configuració del client s'hi transfereixen automàticament. Si això no passa o hi ha un error durant l'autenticació, apareixerà una finestra d'inici de sessió interactiva en lloc de l'escriptori.
L'inici automàtic del gestor de sessions s'especifica al fitxer /etc/default/xrdp i la configuració s'emmagatzema a /etc/xrdp/sesman.ini. Per defecte, sembla una cosa així:
[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]
No cal que canvieu res aquí, només heu de desactivar l'inici de sessió amb drets d'arrel (AllowRootLogin=false). Per a cada usuari autoritzat al sistema, s'inicia un procés xrdp independent: si us desconnecteu sense finalitzar la sessió, els processos d'usuari continuaran executant-se de manera predeterminada i us podreu tornar a connectar a la sessió. La configuració es pot canviar al fitxer /etc/xrdp/sesman.ini (secció [Sessions]).
Canvi de disposició del teclat
Normalment no hi ha problemes amb un porta-retalls bidireccional, però amb la disposició del teclat rus haureu de jugar una mica (la configuració regional russa ja hauria d'estar
sudo nano /etc/xrdp/xrdp_keyboard.ini
Heu d'afegir les línies següents al final del fitxer de configuració:
[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
Només queda desar el fitxer i reiniciar Xrdp:
sudo systemctl restart xrdp
Com podeu veure, no és difícil configurar un servidor RDP en un VPS Linux, però
Font: www.habr.com