В
Obsah:
Instalace grafického prostředí
Vezmeme virtuální stroj s Ubuntu Server 18.04 LTS se dvěma výpočetními jádry, čtyřmi gigabajty RAM a dvacetigigabajtovým pevným diskem (HDD). Slabší konfigurace není vhodná pro grafický desktop, i když to závisí na řešených úlohách. Nezapomeňte použít promo kód Habrahabr10 pro získání 10% slevy na vaši objednávku.
Instalace desktopového prostředí se všemi závislostmi se provádí pomocí následujícího příkazu:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Stejně jako v předchozím případě jsme zvolili XFCE kvůli jeho relativně nízkým nárokům na výpočetní zdroje.
Rusifikace serveru a instalace softwaru
Často jsou virtuální stroje nasazeny pouze s anglickou lokalizací. Na ploše možná budete potřebovat ruštinu, která se snadno nastavuje. Nejprve nainstalujme překlady pro systémové programy:
sudo apt-get install language-pack-ru
Nastavíme lokalizaci:
sudo update-locale LANG=ru_RU.UTF-8
Stejného efektu lze dosáhnout ruční úpravou souboru /etc/default/locale.
Pro lokalizaci GNOME a KDE má úložiště balíčky language-pack-gnome-ru a language-pack-kde-ru – budete je potřebovat, pokud používáte programy z těchto desktopových prostředí. V XFCE se překlady instalují s aplikacemi. Dále můžete nainstalovat slovníky:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
U některých aplikačních programů může být navíc vyžadována instalace překladů:
# Браузер 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
Tím je příprava desktopového prostředí dokončena, zbývá pouze nakonfigurovat RDP server.
Instalace a konfigurace serveru RDP
Repozitáře Ubuntu mají volně distribuovaný server Xrdp, který budeme používat:
sudo apt-get install xrdp
Pokud vše proběhlo v pořádku, server by se měl spustit automaticky:
sudo systemctl status xrdp
Server Xrdp běží s uživatelskými právy xrdp a ve výchozím nastavení přebírá certifikát /etc/ssl/private/ssl-cert-snakeoil.key, který lze nahradit vaším vlastním. Chcete-li mít přístup ke čtení souboru, musíte uživatele přidat do skupiny ssl-cert:
sudo adduser xrdp ssl-cert
Výchozí nastavení lze nalézt v souboru /etc/default/xrdp a všechny ostatní konfigurační soubory serveru jsou umístěny v adresáři /etc/xrdp. Hlavní parametry jsou v souboru xrdp.ini, který není třeba měnit. Konfigurace je dobře zdokumentována a jsou zahrnuty odpovídající manuálové stránky:
man xrdp.ini
man xrdp
Zbývá pouze upravit skript /etc/xrdp/startwm.sh, který se spustí při inicializaci uživatelské relace. Nejprve si vytvořte záložní kopii skriptu z distribuce:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh
Chcete-li spustit desktopové prostředí XFCE, budete potřebovat skript něco takového:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
Poznámka: ve skriptech je lepší napsat úplnou cestu ke spustitelným souborům - to je dobrý zvyk. Udělejme skript spustitelný a v tomto okamžiku lze nastavení serveru Xrdp považovat za dokončené:
sudo chmod 755 /etc/xrdp/startwm.sh
Restartujte server:
sudo systemctl restart xrdp
Konfigurace brány firewall
Ve výchozím nastavení Xrdp naslouchá TCP portu 3389 na všech rozhraních. V závislosti na konfiguraci virtuálního serveru může být nutné nakonfigurovat bránu firewall Netfilter. Na Linuxu se to obvykle provádí pomocí nástroje iptables, ale na Ubuntu je lepší použít ufw. Pokud je známa IP adresa klienta, konfigurace se provede pomocí následujícího příkazu:
sudo ufw allow from IP_Address to any port 3389
Můžete povolit připojení z libovolné IP adresy, jako je tato:
sudo ufw allow 3389
Protokol RDP podporuje šifrování, ale vystavení serveru Xrdp veřejným sítím je špatný nápad. Pokud klient nemá pevnou IP adresu, měl by server pro zvýšení zabezpečení naslouchat pouze localhost. Nejlepší je přistupovat k němu přes SSH tunel, který bezpečně přesměruje provoz z klientského počítače. Máme podobný přístup
Připojení k serveru RDP
Pro práci s desktopovým prostředím je lepší vytvořit samostatného neprivilegovaného uživatele:
sudo adduser rdpuser
Přidejme uživatele do skupiny sudo, aby mohl provádět úkoly související s administrací. Pokud taková potřeba není, můžete tento krok přeskočit:
sudo gpasswd -a rdpuser sudo
K serveru se můžete připojit pomocí libovolného klienta RDP, včetně vestavěného klienta Windows Remote Desktop Services. Pokud Xrdp naslouchá externímu rozhraní, nebudou potřeba žádné další akce. V nastavení připojení stačí zadat VPS IP adresu, uživatelské jméno a heslo. Po připojení uvidíme něco takového:
Po prvotním nastavení desktopového prostředí získáme plnohodnotný desktop. Jak vidíte, nespotřebovává mnoho zdrojů, i když vše bude záviset na použitých aplikacích.
Pokud server Xrdp naslouchá pouze localhost, bude muset být provoz na klientském počítači zabalen do tunelu SSH (sshd musí běžet na VPS). V systému Windows můžete použít grafického klienta SSH (například PuTTY) a v systémech UNIX potřebujete nástroj ssh:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip
Po inicializaci tunelu se klient RDP již nebude připojovat ke vzdálenému serveru, ale k místnímu hostiteli.
S mobilními zařízeními je to složitější: SSH klienty schopné zvednout tunel bude nutné zakoupit a v iOS a iPadOS je provoz aplikací třetích stran na pozadí obtížný kvůli příliš dobré optimalizaci spotřeby energie. Na iPhonu a iPadu nebudete moci vytvořit tunel v samostatné aplikaci; budete potřebovat aplikaci harvester, která sama dokáže vytvořit připojení RDP přes SSH. Jako např
Správce relací a uživatelské relace
Schopnost víceuživatelské práce je implementována přímo na serveru Xrdp a nevyžaduje další konfiguraci. Po spuštění služby přes systemd běží jeden proces v režimu démona, naslouchá na portu 3389 a komunikuje přes localhost se správcem relací.
ps aux |grep xrdp
sudo netstat -ap |grep xrdp
Správce relací obvykle není pro uživatele viditelný, protože se do něj automaticky přenáší přihlašovací jméno a heslo zadané v nastavení klienta. Pokud se tak nestane nebo dojde k chybě při ověřování, objeví se místo plochy interaktivní přihlašovací okno.
Automatické spuštění správce relací je uvedeno v souboru /etc/default/xrdp a konfigurace je uložena v /etc/xrdp/sesman.ini. Ve výchozím nastavení to vypadá asi takto:
[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]
Zde nemusíte nic měnit, stačí zakázat přihlášení s právy root (AllowRootLogin=false). Pro každého uživatele autorizovaného v systému je spuštěn samostatný proces xrdp: pokud se odpojíte bez ukončení relace, uživatelské procesy budou ve výchozím nastavení nadále běžet a vy se můžete k relaci znovu připojit. Nastavení lze změnit v souboru /etc/xrdp/sesman.ini (sekce [Sessions]).
Přepínání rozložení klávesnice
S obousměrnou schránkou obvykle nejsou žádné problémy, ale s ruským rozložením klávesnice si budete muset trochu pohrát (ruské národní prostředí by již mělo být
sudo nano /etc/xrdp/xrdp_keyboard.ini
Na konec konfiguračního souboru musíte přidat následující řádky:
[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
Zbývá pouze uložit soubor a restartovat Xrdp:
sudo systemctl restart xrdp
Jak vidíte, není těžké nastavit server RDP na Linux VPS, ale
Zdroj: www.habr.com