В
Tartalomjegyzék:
Grafikus környezet telepítése
Vegyünk egy virtuális gépet Ubuntu Server 18.04 LTS-sel, két számítási maggal, négy gigabájt RAM-mal és egy húsz gigabájtos merevlemezzel (HDD). A gyengébb konfiguráció nem megfelelő grafikus asztalhoz, bár ez a megoldandó feladatoktól függ. Ne felejtse el használni a Habrahabr10 promóciós kódot, hogy 10% kedvezményt kapjon rendeléséből.
Az összes függőséggel rendelkező asztali környezet telepítése a következő paranccsal történik:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Az előző esethez hasonlóan most is az XFCE-t választottuk annak viszonylag alacsony számítási erőforrásigénye miatt.
A szerver oroszosítása és a szoftvertelepítés
A virtuális gépeket gyakran csak angol lokalizációval telepítik. Az asztalon szükség lehet orosz nyelvre, amelyet könnyű beállítani. Először telepítsük a rendszerprogramok fordításait:
sudo apt-get install language-pack-ru
Állítsuk be a lokalizációt:
sudo update-locale LANG=ru_RU.UTF-8
Ugyanez a hatás érhető el az /etc/default/locale manuális szerkesztésével.
A GNOME és a KDE honosításához a lerakat tartalmazza a language-pack-gnome-ru és a language-pack-kde-ru csomagokat – ezekre szükség lesz, ha ezekből az asztali környezetekből származó programokat használ. Az XFCE-ben a fordítások az alkalmazásokkal együtt vannak telepítve. Ezután telepítheti a szótárakat:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
Ezenkívül egyes alkalmazási programokhoz fordítások telepítése is szükséges lehet:
# Браузер 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
Ezzel befejeződött az asztali környezet előkészítése, már csak az RDP szerver konfigurálása van hátra.
RDP szerver telepítése és konfigurálása
Az Ubuntu tárolókban van egy szabadon terjesztett Xrdp szerver, amelyet fogunk használni:
sudo apt-get install xrdp
Ha minden jól ment, a szervernek automatikusan el kell indulnia:
sudo systemctl status xrdp
Az Xrdp szerver xrdp felhasználói jogokkal fut, és alapértelmezés szerint az /etc/ssl/private/ssl-cert-snakeoil.key tanúsítványt veszi át, amely lecserélhető a sajátjára. A fájl olvasásához való hozzáféréshez hozzá kell adnia a felhasználót az ssl-cert csoporthoz:
sudo adduser xrdp ssl-cert
Az alapértelmezett beállítások az /etc/default/xrdp fájlban találhatók, az összes többi szerverkonfigurációs fájl pedig az /etc/xrdp könyvtárban található. A fő paraméterek az xrdp.ini fájlban találhatók, amelyet nem kell módosítani. A konfiguráció jól dokumentált, és a megfelelő kézikönyvoldalak is megtalálhatók:
man xrdp.ini
man xrdp
Már csak az /etc/xrdp/startwm.sh szkriptet kell szerkeszteni, amely a felhasználói munkamenet inicializálásakor kerül végrehajtásra. Először készítsünk biztonsági másolatot a terjesztésből származó szkriptről:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh
Az XFCE asztali környezet elindításához valami ehhez hasonló szkriptre lesz szüksége:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
Kérjük, vegye figyelembe: szkriptekben jobb, ha a végrehajtható fájlok teljes elérési útját írják - ez egy jó szokás. Tegyük végrehajthatóvá a szkriptet, és ezen a ponton az Xrdp szerver beállítása befejezettnek tekinthető:
sudo chmod 755 /etc/xrdp/startwm.sh
Indítsa újra a szervert:
sudo systemctl restart xrdp
Tűzfal beállítása
Alapértelmezés szerint az Xrdp az összes interfészen a 3389-es TCP-portra figyel. A virtuális szerver konfigurációjától függően előfordulhat, hogy be kell állítania egy Netfilter tűzfalat. Linuxon ez általában az iptables segédprogrammal történik, de Ubuntuban jobb az ufw használata. Ha ismert a kliens IP-címe, a konfiguráció a következő paranccsal történik:
sudo ufw allow from IP_Address to any port 3389
Bármilyen IP-ről engedélyezhet kapcsolatokat, például:
sudo ufw allow 3389
Az RDP protokoll támogatja a titkosítást, de az Xrdp szerver nyilvános hálózatoknak való kitétele rossz ötlet. Ha a kliensnek nincs rögzített IP-címe, a kiszolgálónak csak a localhost-ra kell figyelnie a biztonság növelése érdekében. A legjobb, ha egy SSH-alagúton keresztül éri el, amely biztonságosan átirányítja a forgalmat az ügyfélszámítógépről. Nálunk is hasonló a megközelítés
Csatlakozás egy RDP szerverhez
Az asztali környezettel való együttműködéshez jobb, ha külön jogosultság nélküli felhasználót hoz létre:
sudo adduser rdpuser
Adjuk hozzá a felhasználót a sudo csoporthoz, hogy el tudja látni az adminisztrációval kapcsolatos feladatokat. Ha nincs ilyen igény, kihagyhatja ezt a lépést:
sudo gpasswd -a rdpuser sudo
Bármely RDP-ügyféllel csatlakozhat a kiszolgálóhoz, beleértve a beépített Windows Remote Desktop Services-ügyfelet is. Ha az Xrdp figyeli a külső interfészt, nincs szükség további műveletekre. Elegendő a VPS IP-címét, felhasználónevét és jelszavát megadni a csatlakozási beállításoknál. Csatlakozás után valami ilyesmit fogunk látni:
Az asztali környezet kezdeti beállítása után egy teljes értékű asztali gépet kapunk. Mint látható, nem sok erőforrást fogyaszt, bár minden a használt alkalmazásoktól függ.
Ha az Xrdp szerver csak a localhostra figyel, akkor az ügyfélszámítógép forgalmát egy SSH alagútba kell csomagolni (az sshd-nek futnia kell a VPS-en). Windows rendszeren használhat grafikus SSH-ügyfelet (például PuTTY), UNIX rendszereken pedig az ssh segédprogramra van szüksége:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip
Az alagút inicializálása után az RDP-kliens többé nem a távoli kiszolgálóhoz, hanem a helyi gazdagéphez csatlakozik.
Mobileszközökkel nehezebb a helyzet: alagút emelésre képes SSH klienseket kell vásárolni, iOS-ben és iPadOS-ben pedig az energiafogyasztás túl jó optimalizálása miatt a harmadik féltől származó alkalmazások háttérműködtetése is nehézkes. iPhone-on és iPaden nem lehet külön alkalmazásban alagutat létrehozni; szükség lesz egy betakarító alkalmazásra, amely maga is képes RDP-kapcsolatot létesíteni SSH-n keresztül. Ilyen például
Munkamenetkezelő és felhasználói munkamenetek
A többfelhasználós munkavégzés lehetősége közvetlenül az Xrdp-kiszolgálón van megvalósítva, és nem igényel további konfigurációt. A szolgáltatás systemd-n keresztüli elindítása után az egyik folyamat démon módban fut, a 3389-es porton figyel, és a localhost-on keresztül kommunikál a munkamenet-kezelővel.
ps aux |grep xrdp
sudo netstat -ap |grep xrdp
A munkamenetkezelő általában nem látható a felhasználók számára, mert a kliens beállításaiban megadott bejelentkezési név és jelszó automatikusan átkerül rá. Ha ez nem történik meg, vagy hiba történik a hitelesítés során, akkor az asztal helyett egy interaktív bejelentkezési ablak jelenik meg.
A munkamenet-kezelő automatikus indítása az /etc/default/xrdp fájlban van megadva, a konfiguráció pedig az /etc/xrdp/sesman.ini fájlban található. Alapértelmezés szerint valahogy így néz ki:
[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]
Itt nem kell semmit módosítani, csak le kell tiltani a root jogokkal való bejelentkezést (AllowRootLogin=false). A rendszerben feljogosított minden felhasználó esetében külön xrdp folyamat indul el: ha a munkamenet befejezése nélkül bontja le a kapcsolatot, a felhasználói folyamatok alapértelmezés szerint továbbra is futnak, és újra csatlakozhat a munkamenethez. A beállítások az /etc/xrdp/sesman.ini fájlban ([Sessions]) módosíthatók.
Billentyűzetkiosztás váltása
Általában nincs probléma a kétirányú vágólappal, de az orosz billentyűzetkiosztással kicsit játszadozni kell (az orosz nyelvi beállításnak már
sudo nano /etc/xrdp/xrdp_keyboard.ini
A következő sorokat kell hozzáadnia a konfigurációs fájl végéhez:
[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
Már csak a fájl mentése és az Xrdp újraindítása van hátra:
sudo systemctl restart xrdp
Amint látja, nem nehéz beállítani egy RDP-kiszolgálót egy Linux VPS-en, de
Forrás: will.com