ノート:

Oracle LinuxでのGnomeリモート・デスクトップの構成

イントロダクション

Gnomeデスクトップ環境では、物理的にアクセスできるか、ヘッドレスで実行されているかに応じて、リモートからアクセスする方法がいくつか用意されています。物理アクセスが可能で、モニターが接続されている場合は、Gnome Desktop環境設定アプリケーションに組み込まれた既存のアプリケーションを活用できます。

リモート・ヘッドレス・システム(Oracle Cloud Infrastructureで実行されているシステムなど)の場合は、FreeRDPを使用する必要があります。FreeRDPは、ユーザーがネットワーク経由でリモート・コンピュータ・システムに接続および制御できるようにする、Remote Desktop Protocol (RDP)のオープン・ソース実装です。これらのセッションでは、シングルユーザー構成またはマルチユーザー構成のいずれかが許可され、サービスを実行するためにTLSキーおよびTLS証明書を設定する必要があります。

目的

このチュートリアルでは、次のことを学習します。

前提条件

Oracle Linuxのデプロイ

ノート:独自のテナンシで実行している場合は、演習環境をデプロイする前に、linux-virt-labs GitHubプロジェクトREADME.mdを読み、前提条件を完了してください。

  1. Lunaデスクトップでターミナルを開きます。

  2. linux-virt-labs GitHubプロジェクトをクローニングします。

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. 作業ディレクトリへ移動します。

    cd linux-virt-labs/ol
    
  4. 必要なコレクションをインストールします。

    ansible-galaxy collection install -r requirements.yml
    
  5. 演習環境をデプロイします。

    ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e os_version="10"
    

    無料のラボ環境では、Oracle Cloud Infrastructure SDK for Python用のRPMパッケージをインストールするため、localhostに追加変数ansible_python_interpreterが必要です。このパッケージをインストールする場所は、使用しているOracle Linuxのバージョンに基づくシステムのデフォルトのPythonモジュールの下にあります。インベントリ変数を使用すると、localhost以外のホストで実行されている再生に影響を与えません。

    デフォルトのデプロイメント・シェイプでは、AMD CPUが使用されます。コマンドラインで新しいシェイプ変数定義を渡すことで、インスタンスのシェイプを変更できます。

    たとえば: -e instance_shape="VM.Standard3.Flex"

    同様に、Oracle Linuxイメージのデフォルト・バージョンでは、default_vars.ymlファイルに定義されている変数os_versionが使用されます。この値は、コマンドラインでOracle Linuxメジャー・バージョンを渡すことによって変更できます。

    たとえば: -e os_version="9"

    重要:プレイブックが正常に実行されるまで待機し、一時停止タスクに到達します。プレイブックのこの段階では、Oracle Linuxのインストールが完了し、インスタンスの準備ができました。前回の再生は、デプロイするノードのパブリックIPアドレスとプライベートIPアドレスを出力します。

グラフィカル・デスクトップ環境およびFreeRDPのインストール

  1. 端末を開き、SSHを使用してol-node-01インスタンスに接続します。

    ssh oracle@<ip_address_of_instance>
    
  2. システム上のパッケージを最新のリリースにアップグレードします。

    sudo dnf upgrade -y
    
  3. GNOMEデスクトップ環境とそのすべての依存関係をインストールします。

    sudo dnf group install -y GNOME Fonts
    
  4. FreeRDPパッケージをインストールします。

    sudo dnf install -y freerdp
    
  5. 再起動が必要かどうかを確認します。

    sudo dnf needs-restarting -r
    

    必要に応じて、sudo rebootを使用してシステムをリブートし、再接続します。

複数ユーザーRDPサービスの構成

  1. 自己署名TLS証明書のディレクトリを作成します。

    sudo -u gnome-remote-desktop mkdir -p ~gnome-remote-desktop/.local/share/gnome-remote-desktop
    
  2. 自己署名TLS証明書を生成します。

    sudo -u gnome-remote-desktop winpr-makecert -silent -rdp -path ~gnome-remote-desktop/.local/share/gnome-remote-desktop rdp-tls
    
  3. リモートデスクトップのTLSキーを設定します。

    sudo grdctl --system rdp set-tls-key ~gnome-remote-desktop/.local/share/gnome-remote-desktop/rdp-tls.key
    

    --systemオプションは、複数のユーザーアクセスに必要なリモートデスクトップシステムデーモンを構成します。追加のコマンドおよびオプションは、grdctl --helpを実行することで利用できます。

  4. TLS証明書を設定します。

    sudo grdctl --system rdp set-tls-cert ~gnome-remote-desktop/.local/share/gnome-remote-desktop/rdp-tls.crt
    
  5. RPD資格証明を設定します。

    sudo grdctl --system rdp set-credentials oracle 12345678
    

    次のように、これらの資格証明をコマンドラインに渡すか、資格証明を渡さない場合は、ユーザー名とパスワードの入力を求められます。これらの資格情報では、Gnomeデスクトップログインを表示するリモートRDPセッションへのアクセスのみが許可されます。リモートデスクトップセッションにアクセスするには、ユーザーはマシン上の実際の Linuxアカウントを持ち、それらの資格情報を使用してログインする必要があります。

  6. TLS設定およびRDP資格証明を確認します。

    sudo grdctl --system status --show-credentials
    

    TLS証明書とTLSキーが一致したセットであることを確認します。winpr-makecertを使用してTLS証明書を生成すると、同じフォルダに同じ名前の.keyおよび.crtファイルが作成されます。statusコマンドの--show-credentialsフラグでは、ユーザー名とパスワードが非表示になり、ユーザー名とパスワードを読み取って正しく入力されたことを確認できます。

  7. RDPサービスを有効にします。

    sudo grdctl --system rdp enable
    
  8. サービスが有効になっており、アクティブになっていることを確認します。

    sudo grdctl --system status
    
  9. GDMサービスを有効にします。

    sudo systemctl enable --now gdm
    
  10. システムレベルのリモートログインサービスを有効にします。

    sudo systemctl enable --now gnome-remote-desktop.service
    
  11. リブート後、リモートデスクトップサービスをデフォルトとして設定します。

    sudo systemctl set-default graphical.target
    
  12. サービスが実行されていることを確認します。

    sudo systemctl status gnome-remote-desktop.service
    

    sudo ss -lnpAinet | grep -e gnome-remoteを実行して、port 3389でリスニングしているかどうかを確認することで、サービスが実行されていることを確認することもできます。

RDPクライアントを開いてデプロイメントをテストする

RDPに接続するために使用できるクライアントがいくつかありますが、すべてのクライアントが機能するわけではありません。動作することが知られているのは、LinuxのRemminaとConnections、およびmacOSのxfreerdpです。この手順は、すべてのバージョンのOracle Linuxで使用可能なRemminaに焦点を当てますが、Connectionsは、Oracle Linux 10の一部であるGnome 47以降でのみ使用できます。無料のラボ環境で実行している場合、RemminaソフトウェアはすでにLuna Desktopにインストールされています。

  1. 新しい端末を開き、SSH経由でol-node-01インスタンスに接続します。

    -Lオプションは、ローカル転送を有効にします。これにより、SSHトンネルを介してリモートRDPサーバーに接続するためのローカルポートが開きます。

    ssh -L 13389:localhost:3389 oracle@<ip_address_of_instance>
    

    デフォルトのRDPポートは3389であるため、SSHトンネルのローカル・ポートとして使用可能なポート13389を使用します。

  2. 「アプリケーション」メニュー、「インターネット」「Remmina」の順にクリックして、Remminaを開きます。

    rdpメニュー

  3. 「名前」フィールドにRDP接続の名前を入力し、「プロトコル」値リストでRDP - Remote Desktop Protocolを選択します。

  4. デプロイされたサーバーのGUI環境にログオンします。

    次の値を入力し、「Connect」ボタンを押します。

    • サーバー: localhost:13389
    • ユーザー名: oracle
    • パスワード: 12345678

    rdpログイン

    remmina -c rdp://oracle@localhost:13389を使用して端末からRemminaを実行して接続することもできます。

  5. Gnomeデスクトップマネージャーが表示され、Gnomeログインセッションが表示されます。

  6. ユーザーのLinux資格証明でログインします。

    無料の演習環境での資格証明は次のとおりです。

    • ユーザー名: oracle
    • パスワード: oracle
  7. これで、システムにリモートでログインしました。

    Oracle Linux 10:

    「ようこそ」ダイアログが表示されます。

    ようこそ

    「スキップ」ボタンを押す(またはEnterを押す)と、「ようこそ」ダイアログが消えます。

    開始- 使用-ol

    接続の問題が発生した場合は、SSHトンネル接続を介してリモート・サーバーに接続して、これらの問題をトラブルシューティングします。

    Oracle Cloud Infrastructureインスタンスに接続する場合は、追加のステップを実行する必要がある場合があります。詳細は、Oracle Cloud Infrastructureドキュメントのインスタンスへの接続に関する項を参照してください。

    Oracle VM VirtualBoxでホストされている仮想マシンに接続する場合は、リモート・アクセス用の追加のポート転送を構成する必要があります。仮想ネットワークの構成手順については、インストールされているバージョンの Oracle VM VirtualBoxの『ユーザーガイド』を参照してください。

(オプション)ファイアウォール・ルールの構成

セキュアなプライベートネットワーク上で実行している場合は、デフォルトのポート3389を使用するRDPサービスのファイアウォールポートを開くことができます。

   sudo firewall-cmd --permanent --add-port=3389/tcp
   sudo firewall-cmd --reload

ノート: RDPはTLSを使用してプロトコルを暗号化しますが、ファイアウォールをこのポートに開いて、保護されていないネットワークを介してRDPサーバーに直接接続しないでください。このステップをオプションとしてリストしますが、使用することはお薦めしません。かわりに、オプション以外のステップで示すように、SSHトンネリングまたは接続を保護する別のメカニズムの使用を検討する必要があります。

次のステップ

グラフィカル・アプリケーションを実行するための機能的なリモート・デスクトップ環境が必要です。Oracle Linuxトレーニング・ステーションで他のコンテンツを確認してください。

その他の学習リソース

docs.oracle.com/learnで他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。