В
Vastaaja:
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.
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
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
Yhdistetään RDP-palvelimeen
Työpöytäympäristön kanssa työskentelemiseksi on parempi luoda erillinen etuoikeutettu käyttäjä:
sudo adduser rdpuser
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:
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.
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
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
sudo netstat -ap |grep xrdp
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.
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
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
Lähde: will.com