В
Indholdsfortegnelse:
Installation af det grafiske miljø
Vi tager en virtuel maskine med Ubuntu Server 18.04 LTS med to computerkerner, fire gigabyte RAM og en 10 gigabyte harddisk (HDD). En svagere konfiguration er ikke egnet til et grafisk skrivebord, selvom dette afhænger af opgaverne, der løses. Glem ikke at bruge kampagnekoden Habrahabr10 for at få XNUMX% rabat på din ordre.
Installation af skrivebordsmiljøet med alle afhængigheder udføres med følgende kommando:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
Som i det foregående tilfælde valgte vi XFCE på grund af dets relativt lave krav til computerressourcer.
Russificering af serveren og softwareinstallation
Ofte installeres virtuelle maskiner kun med engelsk lokalisering. På skrivebordet skal du muligvis bruge russisk, som er let at sætte op. Lad os først installere oversættelser til systemprogrammer:
sudo apt-get install language-pack-ru
Lad os konfigurere lokalisering:
sudo update-locale LANG=ru_RU.UTF-8
Den samme effekt kan opnås ved manuelt at redigere /etc/default/locale.
Til lokalisering af GNOME og KDE har depotet pakkerne language-pack-gnome-ru og language-pack-kde-ru - du skal bruge dem, hvis du bruger programmer fra disse skrivebordsmiljøer. I XFCE er oversættelser installeret med applikationer. Dernæst kan du installere ordbøgerne:
# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru
# Тезаурус для LibreOffice
sudo apt-get install mythes-ru
# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict
Derudover kan installation af oversættelser være påkrævet for nogle applikationsprogrammer:
# Браузер 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
Dette fuldender forberedelsen af skrivebordsmiljøet, det eneste, der er tilbage, er at konfigurere RDP-serveren.
Installation og konfiguration af en RDP-server
Ubuntu-lagrene har en frit distribueret Xrdp-server, som vi vil bruge:
sudo apt-get install xrdp
Hvis alt gik godt, skulle serveren starte automatisk:
sudo systemctl status xrdp
Xrdp-serveren kører med xrdp-brugerrettigheder og tager som standard /etc/ssl/private/ssl-cert-snakeoil.key-certifikatet, som kan erstattes med dit eget. For at få adgang til at læse filen, skal du tilføje brugeren til ssl-cert-gruppen:
sudo adduser xrdp ssl-cert
Standardindstillingerne kan findes i filen /etc/default/xrdp, og alle andre serverkonfigurationsfiler er placeret i mappen /etc/xrdp. Hovedparametrene er i filen xrdp.ini, som ikke skal ændres. Konfigurationen er veldokumenteret, og de tilsvarende manpages er inkluderet:
man xrdp.ini
man xrdp
Det eneste, der er tilbage, er at redigere /etc/xrdp/startwm.sh-scriptet, som udføres, når brugersessionen initialiseres. Lad os først lave en sikkerhedskopi af scriptet fra distributionen:
sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh
For at starte XFCE-skrivebordsmiljøet skal du bruge et script som dette:
#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4
Bemærk venligst: i scripts er det bedre at skrive den fulde sti til de eksekverbare filer - dette er en god vane. Lad os gøre scriptet eksekverbart, og på dette tidspunkt kan opsætningen af Xrdp-serveren betragtes som komplet:
sudo chmod 755 /etc/xrdp/startwm.sh
Genstart serveren:
sudo systemctl restart xrdp
Opsætning af en firewall
Som standard lytter Xrdp til TCP-port 3389 på alle grænseflader. Afhængigt af den virtuelle serverkonfiguration skal du muligvis konfigurere en Netfilter-firewall. På Linux gøres dette normalt ved hjælp af iptables-værktøjet, men på Ubuntu er det bedre at bruge ufw. Hvis klientens IP-adresse er kendt, udføres konfigurationen med følgende kommando:
sudo ufw allow from IP_Address to any port 3389
Du kan tillade forbindelser fra enhver IP som denne:
sudo ufw allow 3389
RDP-protokollen understøtter kryptering, men at udsætte Xrdp-serveren for offentlige netværk er en dårlig idé. Hvis klienten ikke har en fast IP, bør serveren kun lytte til localhost for at øge sikkerheden. Det er bedst at få adgang til det via en SSH-tunnel, som sikkert omdirigerer trafik fra klientcomputeren. Vi har en lignende tilgang
Opretter forbindelse til en RDP-server
For at arbejde med skrivebordsmiljøet er det bedre at oprette en separat uprivilegeret bruger:
sudo adduser rdpuser
Lad os tilføje brugeren til sudo-gruppen, så han kan udføre administrationsrelaterede opgaver. Hvis der ikke er et sådant behov, kan du springe dette trin over:
sudo gpasswd -a rdpuser sudo
Du kan oprette forbindelse til serveren ved hjælp af enhver RDP-klient, inklusive den indbyggede Windows Remote Desktop Services-klient. Hvis Xrdp lytter til den eksterne grænseflade, er der ikke behov for yderligere handlinger. Det er nok at angive VPS IP-adressen, brugernavnet og adgangskoden i forbindelsesindstillingerne. Efter tilslutning vil vi se noget som dette:
Efter den indledende opsætning af skrivebordsmiljøet får vi et fuldgyldigt skrivebord. Som du kan se, bruger det ikke mange ressourcer, selvom alt vil afhænge af de anvendte applikationer.
Hvis Xrdp-serveren kun lytter til localhost, skal trafikken på klientcomputeren pakkes ind i en SSH-tunnel (sshd skal køre på VPS). På Windows kan du bruge en grafisk SSH-klient (for eksempel PuTTY), og på UNIX-systemer skal du bruge ssh-værktøjet:
ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip
Efter at tunnelen er initialiseret, vil RDP-klienten ikke længere oprette forbindelse til fjernserveren, men til den lokale vært.
Det er sværere med mobile enheder: SSH-klienter, der er i stand til at hæve en tunnel, skal købes, og i iOS og iPadOS er baggrundsdriften af tredjepartsapplikationer vanskelig på grund af for god optimering af energiforbruget. På iPhone og iPad vil du ikke være i stand til at oprette en tunnel i en separat applikation; du skal bruge en høstmaskine, der selv kan etablere en RDP-forbindelse via SSH. Som f.eks
Session Manager og brugersessioner
Muligheden for at arbejde med flere brugere er implementeret direkte i Xrdp-serveren og kræver ikke yderligere konfiguration. Efter at have startet tjenesten via systemd, kører en proces i dæmontilstand, lytter på port 3389 og kommunikerer gennem localhost med sessionsmanageren.
ps aux |grep xrdp
sudo netstat -ap |grep xrdp
Sessionsmanageren er normalt ikke synlig for brugerne, fordi login og adgangskode, der er angivet i klientindstillingerne, overføres automatisk til den. Hvis dette ikke sker, eller der er en fejl under godkendelsen, vises et interaktivt login-vindue i stedet for skrivebordet.
Automatisk start af sessionsmanageren er angivet i filen /etc/default/xrdp, og konfigurationen er gemt i /etc/xrdp/sesman.ini. Som standard ser det sådan ud:
[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]
Du behøver ikke at ændre noget her, du skal bare deaktivere login med root-rettigheder (AllowRootLogin=false). For hver bruger, der er autoriseret i systemet, startes en separat xrdp-proces: Hvis du afbryder forbindelsen uden at afslutte sessionen, vil brugerprocesser fortsætte med at køre som standard, og du kan oprette forbindelse til sessionen igen. Indstillinger kan ændres i filen /etc/xrdp/sesman.ini ([Sessions]-sektionen).
Skift tastaturlayout
Der er normalt ingen problemer med et to-vejs udklipsholder, men med det russiske tastaturlayout bliver du nødt til at lege lidt (den russiske lokalitet burde allerede være
sudo nano /etc/xrdp/xrdp_keyboard.ini
Du skal tilføje følgende linjer til slutningen af konfigurationsfilen:
[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
Det eneste, der er tilbage, er at gemme filen og genstarte Xrdp:
sudo systemctl restart xrdp
Som du kan se, er det ikke svært at konfigurere en RDP-server på en Linux VPS, men
Kilde: www.habr.com