VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä
В edellinen artikkeli keskustelimme VNC-palvelimen käyttämisestä minkä tahansa tyyppisessä virtuaalikoneessa. Tällä vaihtoehdolla on paljon haittoja, joista tärkein on korkeat vaatimukset tiedonsiirtokanavien suorituskyvylle. Tänään yritämme muodostaa yhteyden graafiseen työpöytään Linuxissa RDP:n (Remote Desktop Protocol) kautta. VNC-järjestelmä perustuu pikseliryhmien lähettämiseen käyttämällä RFB (Remote Framebuffer) -protokollaa, ja RDP mahdollistaa monimutkaisempien grafiikkaprimitiivien ja korkean tason komentojen lähettämisen. Sitä käytetään tavallisesti etätyöpöytäpalveluiden isännöimiseen Windowsissa, mutta myös Linux-palvelimia on saatavilla.

Vastaaja:

Graafisen ympäristön asennus
Palvelimen venäläistäminen ja ohjelmistojen asennus
RDP-palvelimen asennus ja konfigurointi
Palomuurin asetukset
Yhdistetään RDP-palvelimeen
Istunnonhallinta ja käyttäjäistunnot
Näppäimistöasettelujen vaihtaminen

Graafisen ympäristön asennus

Otamme virtuaalikoneen Ubuntu Server 18.04 LTS:llä, jossa on kaksi laskentaydintä, neljä gigatavua RAM-muistia ja kaksikymmentä gigatavua kiintolevy (HDD). Heikompi kokoonpano ei sovellu graafiselle työpöydälle, vaikka se riippuu ratkaistavista tehtävistä. Älä unohda käyttää tarjouskoodia Habrahabr10 saadaksesi 10% alennuksen tilauksestasi.

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä
Työpöytäympäristön asennus kaikilla riippuvuuksilla tehdään seuraavalla komennolla:

sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

Kuten edellisessä tapauksessa, valitsimme XFCE:n sen suhteellisen alhaisten laskentaresurssivaatimusten vuoksi.

Palvelimen venäläistäminen ja ohjelmistojen asennus

Usein virtuaalikoneita otetaan käyttöön vain englanninkielisellä lokalisoinnilla. Työpöydällä saatat tarvita venäjää, joka on helppo asentaa. Asennataan ensin käännökset järjestelmäohjelmille:

sudo apt-get install language-pack-ru

Asetetaan lokalisointi:

sudo update-locale LANG=ru_RU.UTF-8

Sama vaikutus voidaan saavuttaa muokkaamalla /etc/default/locale manuaalisesti.

GNOMEn ja KDE:n lokalisointia varten arkistossa on paketit language-pack-gnome-ru ja language-pack-kde-ru - tarvitset niitä, jos käytät ohjelmia näistä työpöytäympäristöistä. XFCE:ssä käännökset asennetaan sovellusten kanssa. Seuraavaksi voit asentaa sanakirjat:

# Словари для проверки орфографии
sudo apt-get install hunspell hunspell-ru

# Тезаурус для LibreOffice
sudo apt-get install mythes-ru

# Англо-русский словарь в формате DICT
sudo apt-get install mueller7-dict

Lisäksi joissakin sovellusohjelmissa saatetaan vaatia käännösten asentamista:

# Браузер 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ä viimeistelee työpöytäympäristön valmistelun, jäljellä on vain RDP-palvelimen asetukset.

RDP-palvelimen asennus ja konfigurointi

Ubuntu-arkistoissa on vapaasti jaettu Xrdp-palvelin, jota käytämme:

sudo apt-get install xrdp

Jos kaikki meni hyvin, palvelimen pitäisi käynnistyä automaattisesti:

sudo systemctl status xrdp

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä
Xrdp-palvelin toimii xrdp-käyttöoikeuksilla ja ottaa oletuksena /etc/ssl/private/ssl-cert-snakeoil.key-sertifikaatin, joka voidaan korvata omallasi. Jotta voit lukea tiedoston, sinun on lisättävä käyttäjä ssl-cert-ryhmään:

sudo adduser xrdp ssl-cert

Oletusasetukset löytyvät tiedostosta /etc/default/xrdp, ja kaikki muut palvelimen asetustiedostot sijaitsevat /etc/xrdp-hakemistossa. Pääparametrit ovat xrdp.ini-tiedostossa, jota ei tarvitse muuttaa. Kokoonpano on hyvin dokumentoitu, ja vastaavat manuaalisivut ovat mukana:

man xrdp.ini
man xrdp

Jäljelle jää vain /etc/xrdp/startwm.sh-komentosarjan muokkaaminen, joka suoritetaan, kun käyttäjän istunto alustetaan. Tehdään ensin varmuuskopio skriptistä jakelusta:

sudo mv /etc/xrdp/startwm.sh /etc/xrdp/startwm.b
sudo nano /etc/xrdp/startwm.sh

XFCE-työpöytäympäristön käynnistämiseksi tarvitset seuraavanlaisen komentosarjan:

#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
exec /usr/bin/startxfce4

Huomaa: skripteissä on parempi kirjoittaa koko polku suoritettaviin tiedostoihin - tämä on hyvä tapa. Tehdään komentosarjasta suoritettava ja tässä vaiheessa Xrdp-palvelimen asennus voidaan katsoa valmiiksi:

sudo chmod 755 /etc/xrdp/startwm.sh

Käynnistä palvelin uudelleen:

sudo systemctl restart xrdp

Palomuurin asetukset

Oletusarvoisesti Xrdp kuuntelee TCP-porttia 3389 kaikissa liitännöissä. Virtuaalipalvelimen kokoonpanosta riippuen saatat joutua määrittämään Netfilter-palomuurin. Linuxissa tämä tehdään yleensä iptables-apuohjelmalla, mutta Ubuntussa on parempi käyttää ufw:ta. Jos asiakkaan IP-osoite on tiedossa, konfigurointi suoritetaan seuraavalla komennolla:

sudo ufw allow from IP_Address to any port 3389

Voit sallia yhteydet mistä tahansa IP-osoitteesta seuraavasti:

sudo ufw allow 3389

RDP-protokolla tukee salausta, mutta Xrdp-palvelimen paljastaminen julkisille verkoille on huono idea. Jos asiakkaalla ei ole kiinteää IP-osoitetta, palvelimen tulee kuunnella vain localhostia turvallisuuden lisäämiseksi. On parasta käyttää sitä SSH-tunnelin kautta, joka ohjaa turvallisesti liikenteen asiakastietokoneelta. Meillä on samanlainen lähestymistapa käytetty edellisessä artikkelissa VNC-palvelimelle.

Yhdistetään RDP-palvelimeen

Työpöytäympäristön kanssa työskentelemiseksi on parempi luoda erillinen etuoikeutettu käyttäjä:

sudo adduser rdpuser

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä
Lisätään käyttäjä sudo-ryhmään, jotta hän voi suorittaa hallintaan liittyviä tehtäviä. Jos tällaista tarvetta ei ole, voit ohittaa tämän vaiheen:

sudo gpasswd -a rdpuser sudo

Voit muodostaa yhteyden palvelimeen millä tahansa RDP-asiakkaalla, mukaan lukien sisäänrakennettu Windows Remote Desktop Services -asiakas. Jos Xrdp kuuntelee ulkoista käyttöliittymää, lisätoimia ei tarvita. Riittää, kun määrität VPS IP-osoitteen, käyttäjätunnuksen ja salasanan yhteysasetuksissa. Yhteyden muodostamisen jälkeen näemme jotain tällaista:

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä
Työpöytäympäristön alkuasennuksen jälkeen saamme täysimittaisen työpöydän. Kuten näet, se ei kuluta paljon resursseja, vaikka kaikki riippuu käytetyistä sovelluksista.

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä
Jos Xrdp-palvelin kuuntelee vain localhostia, asiakastietokoneen liikenne on pakattava SSH-tunneliin (sshd:n on oltava käynnissä VPS:ssä). Windowsissa voit käyttää graafista SSH-asiakasta (esimerkiksi PuTTY), ja UNIX-järjestelmissä tarvitset ssh-apuohjelman:

ssh -L 3389:127.0.0.1:3389 -C -N -l rdpuser RDP_server_ip

Kun tunneli on alustettu, RDP-asiakas ei enää muodosta yhteyttä etäpalvelimeen, vaan paikalliseen isäntään.

Mobiililaitteilla se on vaikeampaa: SSH-asiakkaat, jotka pystyvät nostamaan tunnelin, on hankittava, ja iOS:ssä ja iPadOS:ssä kolmannen osapuolen sovellusten taustakäyttö on vaikeaa liian hyvän energiankulutuksen optimoinnin vuoksi. iPhonella ja iPadilla et voi luoda tunnelia erillisessä sovelluksessa, vaan tarvitset harvesterisovelluksen, joka voi itse muodostaa RDP-yhteyden SSH:n kautta. Kuten esim Kaukosäädin Pro.

Istunnonhallinta ja käyttäjäistunnot

Mahdollisuus usean käyttäjän työskentelyyn on toteutettu suoraan Xrdp-palvelimessa, eikä se vaadi lisämäärityksiä. Kun palvelu on käynnistetty systemd:n ​​kautta, yksi prosessi toimii demonitilassa, kuuntelee porttia 3389 ja kommunikoi localhostin kautta istunnonhallinnan kanssa.

ps aux |grep xrdp

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä

sudo netstat -ap |grep xrdp

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä
Istunnonhallinta ei yleensä ole käyttäjille näkyvissä, koska asiakasasetuksissa määritellyt käyttäjätunnukset ja salasanat siirtyvät siihen automaattisesti. Jos näin ei tapahdu tai todennuksen aikana tapahtuu virhe, työpöydän sijaan tulee näkyviin interaktiivinen kirjautumisikkuna.

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä
Istunnonhallinnan automaattinen käynnistys on määritetty /etc/default/xrdp-tiedostossa, ja kokoonpano tallennetaan tiedostoon /etc/xrdp/sesman.ini. Oletuksena se näyttää tältä:

[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]

Sinun ei tarvitse muuttaa täällä mitään, sinun on vain poistettava kirjautuminen root-oikeuksilla (AllowRootLogin=false). Jokaiselle järjestelmään valtuutetulle käyttäjälle käynnistetään erillinen xrdp-prosessi: jos katkaiset yhteyden lopettamatta istuntoa, käyttäjäprosessit jatkuvat oletusarvoisesti ja voit muodostaa yhteyden istuntoon uudelleen. Asetuksia voidaan muuttaa /etc/xrdp/sesman.ini-tiedostossa ([Istunnot]-osio).

Näppäimistöasettelujen vaihtaminen

Kaksisuuntaisen leikepöydän kanssa ei yleensä ole ongelmia, mutta venäläisen näppäimistöasettelun kanssa joudut leikkiä hieman (venäläisen kielen pitäisi olla jo asennetut). Muokataan Xrdp-palvelimen näppäimistöasetuksia:

sudo nano /etc/xrdp/xrdp_keyboard.ini

Sinun on lisättävä seuraavat rivit määritystiedoston loppuun:

[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

Jäljelle jää vain tallentaa tiedosto ja käynnistää Xrdp uudelleen:

sudo systemctl restart xrdp

Kuten näet, RDP-palvelimen määrittäminen Linuxin VPS:ään ei ole vaikeaa, mutta edellinen artikkeli Olemme jo keskustelleet VNC-asetuksista. Näiden tekniikoiden lisäksi on olemassa toinen mielenkiintoinen vaihtoehto: X3Go-järjestelmä, joka käyttää modifioitua NX 2 -protokollaa. Käsittelemme sitä seuraavassa julkaisussa.

VPS Linuxissa graafisella käyttöliittymällä: RDP-palvelimen käynnistäminen Ubuntu 18.04:ssä

Lähde: will.com

Lisää kommentti