HONDA LABO

本田研究室

AzureのRHELにxrdpをインストールしてリモートデスクトップで接続してみる

WindowsのリモートデスクトップアプリケーションでRHELに接続する方法として「xrdp」を利用する方法があります。
xrdpをRHELにインストールして起動すると、xrdpが3389で待ち受け、リモートデスクトップアプリで接続することが出来ます。インストールはカンタンです。

デスクトップ環境(GUI)のインストール

Azure のほとんどの Linux VM では、デスクトップ環境は既定でインストールされておらず、RHELにもインストールされておりません。そのためまずはデスクトップ環境のインストールを行います。
以下、rootユーザーで作業をしておりますが、sudo可能な一般ユーザーでsudo付きで実行可能です。

■ GUIのインストール
# yum groupinstall "Server with GUI"


■ GUIで起動する
# systemctl get-default
multi-user.target

# systemctl set-default graphical.target

# systemctl get-default
graphical.target


■ GUIへの切り替え
# systemctl isolate graphical.target

xrdpのインストール

つづいて、xrdpのインストールを行います。xrdpのインストールコマンドはこちらのページが参考になります。
Extra Packages for Enterprise Linux (EPEL) :: Fedora Docs

■ xrdpのインストール
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# yum install xrdp


■ xrdp起動/起動確認
# systemctl status xrdp
Active: active (running) ←(抜粋)xrdpが起動している

# systemctl start xrdp

# systemctl status xrdp
Active: inactive (dead) ←(抜粋)xrdpが停止している

# netstat -anp |  grep 3389
tcp6       0      0 :::3389                 :::*                    LISTEN      XXXX/xrdp ←xrdpが3389でLISTENしていることを確認


■ xrdp自動起動
# systemctl is-enabled xrdp
disabled ←自動起動が無効になっている

# systemctl enable xrdp

# systemctl is-enabled xrdp
enabled ←自動起動が有効化された


■ OSファイアウォール(firewalld)停止
# systemctl status firewalld
Active: active (running) ←(抜粋)firewalldが起動している

# systemctl stop firewalld

# systemctl status firewalld
Active: inactive (dead) ←(抜粋)firewalldが停止している

注意点としては、xrdpはEPELのレポジトリから入手する必要があり、RHELのサポートは提供されないという点です。利用する場合は自己責任で利用しましょう(RHELがサポートしているリモートデスクトップの手法はVNCのみとなるようです)
また、今回はNSG(Network Security Group)が有効でSSH(TCP22)とRDP(TCP3389)を穴あけしている前提でOSファイアウォールを停止しましたが、これは組織のルールに従う必要があると思います。

リモートデスクトップで接続

xrdpのインストールと起動が完了すれば、WindowsのリモートデスクトップからRHELに接続が可能になります。リモートデスクトップを起動して、RHELのIP向けに接続します。

接続後、ログイン画面が表示されますので、RHELのログインユーザとパスワードを入力します。

ログイン完了後、デスクトップ画面が表示されます。