【RHEL10対応】最小構成からRDP接続を実現する完全ガイド

【RHEL10対応】最小構成からRDP接続を実現する完全ガイド Linuxサーバ

~GNOME組み込みRDP(Wayland対応)で“ログイン中セッションを共有”する安全な構成


本記事では、
RHEL10を multi-user.target(CLIモード)で最小インストールした状態 から、GNOME組み込みRDPを有効化して、Windowsクライアントからリモート接続できるようにするまでの手順を解説します。


スポンサーリンク

🔍 はじめに:RHEL10のRDPは「セッション共有型」

RHEL10では、従来の xrdp サービスによるリモートデスクトップ接続は非推奨となり、GNOME自体に統合されたRDP機能(Wayland対応) が採用されました。


この仕組みは「セッション共有型RDP」です。
つまり、既にGNOMEにログインしているユーザーの画面をRDP経由で共有する形式になります。

したがって、

💡「誰もGUIログインしていない状態」ではRDP接続はできません。
コンソールや仮想端末でGUIログインしているユーザーのデスクトップを“遠隔で見る・操作する”仕組みで利用するRDP接続です。

これは、セキュリティ強化とWayland標準化の流れに沿った設計です。



🧩 対象環境

項目内容
OSRed Hat Enterprise Linux 10
初期状態CLIのみ(multi-user.target)
ディスプレイサーバWayland(RHEL10標準)
GUI環境GNOME(最小構成)
接続方式GNOME組み込みRDP機能(TCP/3389)
接続クライアントWindows 10 / 11(mstsc.exe)


🎯 本構成の特徴

  • ✅ RHEL10公式推奨方式(Wayland対応RDP)
  • ✅ xrdp不要(EPEL非依存)
  • ✅ パスワードはGNOME Keyringで安全に暗号化
  • ✅ 最小限のGNOME環境で軽量
  • ✅ サーバ用途にも適した安定構成



🧱 Step 1:GUI環境(GNOME)を導入する

RHEL10では、X Window System グループが削除されているため、「サーバー (GUI 使用)」環境グループでGNOMEを導入します。

軽量化のため、推奨パッケージを除外してインストールします。

dnf groupinstall "サーバー (GUI 使用)" --setopt=install_weak_deps=False -y


💡 コマンド解説

オプション説明
"サーバー (GUI 使用)"RHEL10で唯一GNOMEを含む環境グループ
※LANG=Cの場合
"サーバー (GUI 使用)"の箇所は"Server with GUI"
--setopt=install_weak_deps=False推奨パッケージを除外し軽量構成にする
-y自動でYes応答(無人インストール)


▶️Step1 実行画面

Step 1:GUI環境(GNOME)を導入する1
Step 1:GUI環境(GNOME)を導入する2



⚙️ Step 2:gdm(GNOME Display Manager)を起動・自動化

GNOMEのログイン画面を提供するサービスです。
CLI環境では無効なので、有効化してGUIログインを可能にします。

systemctl enable gdm --now

💡 このコマンドで、GNOMEログイン画面を提供するgdmが起動します。

systemctl staus gdm.service


デフォルトの起動ターゲットを multi-user.target(CLI)から「graphical.target(GUI)」に切り替えます。

systemctl get-default
systemctl set-default graphical.target
systemctl get-default

再起動後、ログイン画面(GDM)が表示されることを確認します。

shutdown -r now


▶️Step2 実行画面

Step 2:gdm(GNOME Display Manager)を起動・自動化1
Step 2:gdm(GNOME Display Manager)を起動・自動化2



🧩 Step 3:RDP機能(gnome-remote-desktop)の確認

Waylandセッションで動作するRDPサーバ機能は、gnome-remote-desktop パッケージに含まれます。

rpm -q gnome-remote-desktop || sudo dnf install gnome-remote-desktop -y

✅ 通常は標準インストール時に含まれています。未導入の場合のみ自動でインストールされます。


▶️Step3 実行画面

Step 3:RDP機能(gnome-remote-desktop)の確認1



⚙️ Step 4:RDP機能をCLIで有効化(ユーザー単位)

Wayland版RDPではユーザー単位で設定します。 dbus-run-session を利用し、一時的にD-Busセッションを作成して設定します。

例:ユーザー adminuser の場合
※以下の様にroot権限で実行しているので「sudo -u adminuser」とユーザを切り替えて実行します。
※ユーザ(adminuser)はuseraddコマンドで事前に作成してください。

sudo -u adminuser dbus-run-session -- gsettings set org.gnome.desktop.remote-desktop.rdp enable true
sudo -u adminuser dbus-run-session -- gsettings set org.gnome.desktop.remote-desktop.rdp view-only false


💡コマンド解説

項目内容
enableRDP機能を有効化
view-only false操作を許可(trueなら閲覧のみ)
dbus-run-sessionGUIログインなしでも一時的にD-Busセッションを作成し設定を反映


▶️Step4 実行画面

Step 4:RDP機能をCLIで有効化(ユーザー単位)1



🔥 Step 5:ファイアウォール設定(TCP/3389)

RDP通信ポートを開放します。今回はファイアウォールサービスは停止します。

systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service


▶️Step5 実行画面

Step 5:ファイアウォール設定(TCP/3389)1


【ファイアーウォールサービスを停止しない場合】

sudo firewall-cmd --permanent --add-service=rdp
sudo firewall-cmd --reload



🖥️ Step 6:パスワード認証を設定(GUI操作)

RHEL10では、RDPのパスワードはCLIでは設定できません。 GNOMEの「設定」アプリ内で、Keyringに暗号化保存されます。


設定手順(GUI上で実施)

  1. GNOMEログイン後、右下の「Show Apps」から 「設定 (Settings)」→「システム」→「Remote Desktop」 を開く
  2. 「Remote Control(リモート操作)」をオンにする
  3. 「Login Details」にて以下を設定
    • ユーザー名: adminuser
    • パスワード: 任意の安全なパスワードを入力
      ※サーバへログインする際の「adminuser」のパスワードとは別で設定します。

この状態でパスワード認証がオンになり、 Keyring内に暗号化保存されます。


▶️Step6 実行画面

Step 6:パスワード認証を設定(GUI操作)1
Step 6:パスワード認証を設定(GUI操作)2
Step 6:パスワード認証を設定(GUI操作)3
Step 6:パスワード認証を設定(GUI操作)4
Step 6:パスワード認証を設定(GUI操作)5
Step 6:パスワード認証を設定(GUI操作)6



🧩 Step 7:WindowsからRDP接続確認(※重要条件あり)

ここが最も重要なポイントです。

RHEL10のGNOME組み込みRDPは「ログイン中セッション共有型」です。
そのため、誰もGUIログインしていない状態ではRDP接続できません。


✅ 事前準備(RHEL側)

  1. RHEL10のコンソール、または仮想マシンのディスプレイ画面を開く
  2. adminuserGNOMEデスクトップにログインしておく

  ⚠️ ログイン画面(GDM)が表示されたままの状態では接続できません。※ログインしていない状態
  必ず adminuser のセッションが開いていることを確認してください。


💻 Windows側の操作

  1. 「リモートデスクトップ接続(mstsc.exe)」を起動
  2. 接続先にRHEL10サーバのIPアドレスを入力
  3. パスワードに Step6 で設定したものを入力

✅ 結果:

  • adminuserがログイン中のGNOMEデスクトップに接続される
  • 新しいログイン画面は生成されない
  • セッションは1人のみ(共有型)


▶️Step7 実行画面

Step 7:WindowsからRDP接続確認(※重要条件あり)1
Step 7:WindowsからRDP接続確認(※重要条件あり)2
Step 7:WindowsからRDP接続確認(※重要条件あり)3
Step 7:WindowsからRDP接続確認(※重要条件あり)4
Step 7:WindowsからRDP接続確認(※重要条件あり)5



⚙️ RDP設定の状態確認(オプション)

adminuser のGNOME RDP設定をすべて確認するコマンド。
dbus-run-session は一時的にGNOME設定を参照するための仕組みです。

sudo -u adminuser dbus-run-session -- gsettings list-recursively org.gnome.desktop.remote-desktop.rdp

出力例

org.gnome.desktop.remote-desktop.rdp enable true
org.gnome.desktop.remote-desktop.rdp negotiate-port true
org.gnome.desktop.remote-desktop.rdp port uint16 3389
org.gnome.desktop.remote-desktop.rdp screen-share-mode 'mirror-primary'
org.gnome.desktop.remote-desktop.rdp tls-cert '/home/adminuser/.local/share/gnome-remote-desktop/certificates/rdp-tls.crt'
org.gnome.desktop.remote-desktop.rdp tls-key '/home/adminuser/.local/share/gnome-remote-desktop/certificates/rdp-tls.key'
org.gnome.desktop.remote-desktop.rdp view-only false


⚙️ 出力項目の解説

項目意味
enable trueRDP機能が有効
negotiate-port trueRDPポート(通常3389)を自動交渉
port 3389RDP待受ポート番号
screen-share-mode 'mirror-primary'コンソール上の画面(メインディスプレイ)をそのまま共有
tls-cert / tls-keyRDP通信の暗号化に使うTLS証明書と秘密鍵の保存場所
view-on / view-only閲覧専用か操作可かの設定(falseで操作可)



✅まとめ

🧠 RHEL10のRDP仕様:RHEL9との違い

項目RHEL9RHEL10
RDP方式xrdp (Xorg) / GNOME組み込み(限定)GNOME組み込みRDP(Wayland標準)
enable-auth キー存在する廃止
password キー存在する廃止(Keyring管理)
CLIでのパスワード設定可能不可(GUIのみ)
認証保存先dconf (平文)GNOME Keyring(暗号化)
TLS証明書任意自動生成(初回設定時)
xrdpサポートEPEL経由非推奨(動作制限)


🧭 トラブルシューティング

症状原因対処
dconf-WARNING: X11 $DISPLAY なしで D-Bus を自動起動できませんGUIセッションがない状態で gsettings 実行dbus-run-session -- を付ける
キー "password" がありませんRHEL10仕様。CLI設定不可GUIで設定する
RDP接続時に「暗号化エラー」証明書未生成GUIでRDP有効化し、TLS証明書生成

コメント

タイトルとURLをコピーしました