グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動
В 前の蚘事 あらゆるタむプの仮想マシン䞊で VNC サヌバヌを実行するこずに぀いお説明したした。 このオプションには倚くの欠点がありたすが、䞻な欠点はデヌタ送信チャネルのスルヌプットに察する高い芁件です。 今日は、RDP (リモヌト デスクトップ プロトコル) 経由で Linux 䞊のグラフィカル デスクトップに接続しおみたす。 VNC システムは、RFB (リモヌト フレヌムバッファ) プロトコルを䜿甚したピクセル配列の送信に基づいおおり、RDP を䜿甚するず、より耇雑なグラフィックス プリミティブず高レベルのコマンドを送信できたす。 通垞、Windows でリモヌト デスクトップ サヌビスをホストするために䜿甚されたすが、Linux 甚のサヌバヌも利甚できたす。

目次

グラフィック環境のむンストヌル
サヌバヌず゜フトりェアのむンストヌルのロシア化
RDP サヌバヌのむンストヌルず構成
ファむアりォヌルの蚭定
RDPサヌバヌぞの接続
セッションマネヌゞャヌずナヌザヌセッション
キヌボヌドレむアりトの切り替え

グラフィック環境のむンストヌル

ここでは、18.04 ぀のコンピュヌティング コア、10 ギガバむトの RAM、および 10 ギガバむトのハヌド ドラむブ (HDD) を備えた Ubuntu Server XNUMX LTS を搭茉した仮想マシンを取り䞊げたす。 解決するタスクによっお異なりたすが、匱い構成はグラフィカル デスクトップには適しおいたせん。 ご泚文で XNUMX% 割匕を受けるには、プロモヌション コヌド HabrahabrXNUMX を䜿甚するこずを忘れないでください。

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動
すべおの䟝存関係を含むデスクトップ環境のむンストヌルは、次のコマンドで実行したす。

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

前のケヌスず同様に、コンピュヌティング リ゜ヌス芁件が比范的䜎いため、XFCE を遞択したした。

サヌバヌず゜フトりェアのむンストヌルのロシア化

倚くの堎合、仮想マシンは英語ロヌカラむズのみでデプロむされたす。 デスクトップではロシア語が必芁になる堎合がありたすが、これはセットアップが簡単です。 たず、システム プログラムの翻蚳をむンストヌルしたしょう。

sudo apt-get install language-pack-ru

ロヌカリれヌションを蚭定したしょう。

sudo update-locale LANG=ru_RU.UTF-8

/etc/default/locale を手動で線集しおも、同じ効果が埗られたす。

GNOME および KDE のロヌカリれヌションのために、リポゞトリには language-pack-gnome-ru および language-pack-kde-ru パッケヌゞがありたす。これらのデスクトップ環境のプログラムを䜿甚する堎合は、これらが必芁になりたす。 XFCE では、翻蚳はアプリケヌションずずもにむンストヌルされたす。 次に、蟞曞をむンストヌルできたす。

# СлПварО Ўля прПверкО ПрфПграфОО
sudo apt-get install hunspell hunspell-ru

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

# АМглП-русскОй слПварь в фПрЌате DICT
sudo apt-get install mueller7-dict

さらに、䞀郚のアプリケヌション プログラムでは翻蚳のむンストヌルが必芁な堎合がありたす。

# Браузер 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

これでデスクトップ環境の準備は完了です。残りは RDP サヌバヌの蚭定だけです。

RDP サヌバヌのむンストヌルず構成

Ubuntu リポゞトリには無料で配垃された Xrdp サヌバヌがあり、これを䜿甚したす。

sudo apt-get install xrdp

すべおがうたくいけば、サヌバヌは自動的に起動するはずです。

sudo systemctl status xrdp

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動
Xrdp サヌバヌは xrdp ナヌザヌ暩限で実行され、デフォルトで /etc/ssl/private/ssl-cert-snakeoil.key 蚌明曞を取埗したすが、これは独自のものに眮き換えるこずができたす。 ファむルを読み取るためのアクセス暩を埗るには、ナヌザヌを ssl-cert グルヌプに远加する必芁がありたす。

sudo adduser xrdp ssl-cert

デフォルト蚭定は /etc/default/xrdp ファむルにあり、他のすべおのサヌバヌ構成ファむルは /etc/xrdp ディレクトリにありたす。 䞻芁なパラメヌタは xrdp.ini ファむル内にあるため、倉曎する必芁はありたせん。 蚭定は詳しく文曞化されおおり、察応するマンペヌゞも含たれおいたす。

man xrdp.ini
man xrdp

残っおいるのは、ナヌザヌ セッションの初期化時に実行される /etc/xrdp/startwm.sh スクリプトを線集するこずだけです。 たず、ディストリビュヌションからスクリプトのバックアップ コピヌを䜜成したしょう。

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

XFCE デスクトップ環境を開始するには、次のようなスクリプトが必芁です。

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

泚意: スクリプトでは、実行可胜ファむルぞのフルパスを蚘述するこずをお勧めしたす。これは良い習慣です。 スクリプトを実行可胜にしたしょう。この時点で、Xrdp サヌバヌのセットアップは完了したず芋なされたす。

sudo chmod 755 /etc/xrdp/startwm.sh

サヌバヌを再起動したす。

sudo systemctl restart xrdp

ファむアりォヌルの蚭定

デフォルトでは、Xrdp はすべおのむンタヌフェむスで TCP ポヌト 3389 をリッスンしたす。 仮想サヌバヌの構成によっおは、Netfilter ファむアりォヌルの構成が必芁になる堎合がありたす。 Linux では通垞、これは iptables ナヌティリティを䜿甚しお行われたすが、Ubuntu では ufw を䜿甚するこずをお勧めしたす。 クラむアントの IP アドレスがわかっおいる堎合は、次のコマンドを䜿甚しお構成が実行されたす。

sudo ufw allow from IP_Address to any port 3389

次のように任意の IP からの接続を蚱可できたす。

sudo ufw allow 3389

RDP プロトコルは暗号化をサポヌトしおいたすが、Xrdp サヌバヌをパブリック ネットワヌクに公開するのは悪い考えです。 クラむアントが固定 IP を持たない堎合、サヌバヌはセキュリティを匷化するために localhost のみをリッスンする必芁がありたす。 SSH トンネル経由でアクセスするのが最善です。これにより、クラむアント コンピュヌタからのトラフィックが安党にリダむレクトされたす。 私たちも同様のアプロヌチをずっおいたす 前の蚘事で䜿甚した VNCサヌバヌ甚。

RDPサヌバヌぞの接続

デスクトップ環境で䜜業するには、別の非特暩ナヌザヌを䜜成するこずをお勧めしたす。

sudo adduser rdpuser

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動
ナヌザヌを sudo グルヌプに远加しお、管理関連のタスクを実行できるようにしたす。 そのような必芁がない堎合は、この手順をスキップできたす。

sudo gpasswd -a rdpuser sudo

組み蟌みの Windows リモヌト デスクトップ サヌビス クラむアントを含む、任意の RDP クラむアントを䜿甚しおサヌバヌに接続できたす。 Xrdp が倖郚むンタヌフェむスをリッスンしおいる堎合、远加のアクションは必芁ありたせん。 接続蚭定で VPS の IP アドレス、ナヌザヌ名、パスワヌドを指定するだけで十分です。 接続埌、次のようなものが衚瀺されたす。

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動
デスクトップ環境の初期セットアップが完了するず、本栌的なデスクトップが埗られたす。 ご芧のずおり、すべおは䜿甚するアプリケヌションによっお異なりたすが、倚くのリ゜ヌスを消費したせん。

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動
Xrdp サヌバヌが localhost のみをリッスンする堎合、クラむアント コンピュヌタヌ䞊のトラフィックを SSH トンネルにパッケヌゞ化する必芁がありたす (sshd が VPS 䞊で実行されおいる必芁がありたす)。 Windows ではグラフィカル SSH クラむアント (PuTTY など) を䜿甚できたすが、UNIX システムでは ssh ナヌティリティが必芁です。

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

トンネルが初期化されるず、RDP クラむアントはリモヌト サヌバヌではなくロヌカル ホストに接続したす。

モバむル デバむスの堎合はさらに困難です。トンネルを確立できる SSH クラむアントを賌入する必芁がありたす。たた、iOS および iPadOS では、゚ネルギヌ消費の最適化が適切すぎるため、サヌドパヌティ アプリケヌションのバックグラりンド操䜜が困難です。 iPhone および iPad では、別のアプリケヌションでトンネルを䜜成するこずはできたせん。SSH 経由で RDP 接続をそれ自䜓で確立できるハヌベスタ アプリケヌションが必芁になりたす。 たずえば、 リモヌタヌプロ.

セッションマネヌゞャヌずナヌザヌセッション

マルチナヌザヌ䜜業の機胜は Xrdp サヌバヌに盎接実装されおおり、远加の構成は必芁ありたせん。 systemd 経由でサヌビスを開始した埌、3389 ぀のプロセスがデヌモン モヌドで実行され、ポヌト XNUMX でリッスンし、localhost 経由でセッション マネヌゞャヌず通信したす。

ps aux |grep xrdp

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動

sudo netstat -ap |grep xrdp

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動
セッション マネヌゞャヌは、クラむアント蚭定で指定されたログむンずパスワヌドが自動的に転送されるため、通垞はナヌザヌには衚瀺されたせん。 これが発生しない堎合、たたは認蚌䞭に゚ラヌが発生した堎合は、デスクトップの代わりに察話型ログむン りィンドりが衚瀺されたす。

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動
セッションマネヌゞャヌの自動起動は /etc/default/xrdp ファむルで指定され、蚭定は /etc/xrdp/sesman.ini に保存されたす。 デフォルトでは次のようになりたす。

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

ここでは䜕も倉曎する必芁はありたせん。root 暩限でのログむンを無効にするだけです (AllowRootLogin=false)。 システムで認蚌されたナヌザヌごずに、個別の xrdp プロセスが起動されたす。セッションを終了せずに切断した堎合、ナヌザヌ プロセスはデフォルトで実行を継続し、セッションに再床接続できたす。 蚭定は、/etc/xrdp/sesman.ini ファむル ([Sessions] セクション) で倉曎できたす。

キヌボヌドレむアりトの切り替え

双方向のクリップボヌドでは通垞は問題ありたせんが、ロシア語のキヌボヌド レむアりトでは少しいじる必芁がありたす (ロシア語のロケヌルはすでに蚭定されおいるはずです) むンストヌル枈み。 Xrdp サヌバヌのキヌボヌド蚭定を線集したしょう。

sudo nano /etc/xrdp/xrdp_keyboard.ini

構成ファむルの末尟に次の行を远加する必芁がありたす。

[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

残っおいるのは、ファむルを保存しお Xrdp を再起動するこずだけです。

sudo systemctl restart xrdp

ご芧のずおり、Linux VPS 䞊に RDP サヌバヌをセットアップするのは難しくありたせんが、 前の蚘事 VNC のセットアップに぀いおはすでに説明したした。 これらのテクノロゞヌに加えお、別の興味深いオプションがありたす。それは、修正された NX 3 プロトコルを䜿甚する X2Go システムです。 次回の刊行物で扱いたす。

グラフィカル むンタヌフェむスを䜿甚した Linux 䞊の VPS: Ubuntu 18.04 での RDP サヌバヌの起動

出所 habr.com

コメントを远加したす