xfreerdpを使ってWindowsサーバーに接続する

Okta Privileged Accessで登録したWindowsサーバーに接続するようにxfreerdpを構成します。

このタスクについて

xfreerdpは、Linux向けのオープンソースRDPクライアントです。xfreerdpを使用して、Okta Privileged Accessで登録したWindowsサーバーへのRDP接続を作成できます。xfreerdpがインストールされている場合、Okta Privileged Accessクライアントは自動的にRDP接続をxfreerdp経由にします。

始める前に

  • Linuxマシンに Okta Privileged Accessクライアント(sft)をインストールして登録します。
  • デスクトップ環境、X11転送、またはXvfbのような仮想フレームバッファなど、X11対応のディスプレイがあることを確認します。
  • Linuxディストリビューション用のxfreerdpをインストールします。
    配信 インストールコマンド
    UbuntuまたはDebian sudo apt install freerdp2-x11
    RHEL、Fedora、またはCentOS sudo dnf install freerdp
    Arch Linux sudo pacman -S freerdp
  • xfreerdp --versionを実行してインストールを検証します。
  • ターゲットのWindowsサーバーで、ポート3389(標準RDP)とポート4421(Okta Privileged AccessがRDP接続のブローカーに使用するsftdブローカーポート)上でのインバウンドTCPトラフィックが許可されていることを確認します。OSファイアウォールと任意のネットワークセキュリティグループの両方がこれらのポートを許可していることを確認します。 「Okta Privileged Accessのポート要件」を参照してください。

手順

  1. Linuxマシンでターミナルを開きます。
  2. sft rdp <server-name>を実行して<server-name>をOkta Privileged Accessチームに表示されるWindowsサーバーの名前に置き換えます。

sftクライアントが認証を行い、Okta Privileged AccessからRDP資格情報を取得し、ターゲットサーバー上でsftdブローカーへの接続をトンネルするローカルプロキシを起動します。その後、クライアントがローカルプロキシをポイントしてxfreerdpを起動すると、RDPセッションが開きます。

トラブルシューティング

問題 理由 ソリューション(Solution)
dial tcp <ip>:4421: i/o timeout ポート4421がブロックされている、またはターゲットサーバーでsftdが実行されていない。 ターゲットサーバーのファイアウォールおよびネットワークセキュリティグループで、ポート4421を開きます。Windowsサーバーでsftdが実行されていることを確認します:Get-Service "ScaleFT Server Tools" 。リッスンしているのを確認します: netstat -an | findstr 4421。
unable to open display、またはxfreerdpが起動しない X11ディスプレイは利用できません。 DISPLAY環境変数を設定してXvfbを起動します。「ヘッドレスLinuxサーバーから接続する」を参照してください。
有効なRDPクライアントが見つかりません sftクライアントは PATHでxfreerdpを見つけられません。 which xfreerdpを実行して、xfreerdpがインストールされ、 PATHにあることを確認します。

次のタスク

ヘッドレスLinuxサーバーから接続する

物理ディスプレイのないヘッドレスLinuxサーバーでsft rdpを実行する場合は、接続前に仮想フレームバッファをインストールして起動します。Xvfb(sudo apt install xvfb)をインストールし、仮想ディスプレイ(Xvfb :99 -screen 0 1024x768x24 &)を起動し、DISPLAY環境変数を設定します(export DISPLAY=:99)。その後、sft rdp <server-name>を実行します。