セッションシャドウイング

最終公開日 : Nov 13, 2026
セッションシャドウイングにより、ドメイン管理者はイントラネット内でユーザーのICA®セッションを表示できます。この機能は、noVNCを使用してICAセッションに接続します。
注:
この機能を使用するには、Citrix Director 7.16以降を使用してください。

インストールと構成

依存関係

セッションシャドウイングには、python-websockifyとx11vncの2つの新しい依存関係が必要です。Linux VDAのインストール後に、python-websockifyとx11vncを手動でインストールしてください。
RHEL 7.xおよびAmazon Linux2の場合:
python-websockifyとx11vncをインストールするには、次のコマンドを実行します(x11vncバージョン0.9.13以降):
sudo pip3 install websockify
sudo yum install x11vnc
python-websockifyとx11vncを解決するには、RHEL 7.xでExtra Packages for Enterprise Linux (EPEL)およびオプションのRPMリポジトリを有効にします。
  • EPEL
    EPELリポジトリはx11vncに必要です。EPELリポジトリを有効にするには、次のコマンドを実行します。
    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • オプションのRPM
    x11vncの一部の依存パッケージをインストールするために、オプションのRPMsリポジトリを有効にするには、次のコマンドを実行します。
    subscription-manager repos --enable rhel-7-server-optional-rpms --enable rhel-7-server-extras-rpms
RHEL 8.xおよびRocky Linux 8の場合:
python-websockifyとx11vncをインストールするには、次のコマンドを実行します(x11vncバージョン0.9.13以降)。
sudo pip3 install websockify
sudo yum install x11vnc
x11vncを解決するには、EPELおよびCodeReady Linux Builderリポジトリを有効にします。
dnf install -y --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

subscription-manager repos --enable "codeready-builder  -for-rhel-8-x86_64-rpms"
Ubuntuの場合:
python-websockify と x11vnc (x11vnc バージョン 0.9.13 以降) をインストールするには、次のコマンドを実行します。
sudo pip3 install websockify
sudo apt-get install x11vnc
SUSEの場合:
python-websockify と x11vnc (x11vnc バージョン 0.9.13 以降) をインストールするには、次のコマンドを実行します。
sudo pip3 install websockify
sudo zypper install x11vnc
Debianの場合:
python-websockify と x11vnc (x11vnc バージョン 0.9.13 以降) をインストールするには、次のコマンドを実行します。
sudo pip3 install websockify
sudo apt-get install x11vnc

ポート

セッションシャドウ機能は、Linux VDAからCitrix Directorへの接続を確立するために、6001~6099の範囲から利用可能なポートを自動的に選択します。したがって、同時にシャドウできるICAセッションの数は99に制限されます。特にマルチセッションシャドウイングの場合、要件を満たすのに十分なポートが利用可能であることを確認してください。

レジストリ

次の表に、関連するレジストリを示します。
レジストリ 説明 デフォルト値
EnableSessionShadowing セッションシャドウ機能を有効または無効にします 1 (有効)
ShadowingUseSSL Linux VDAとCitrix Director間の接続を暗号化するかどうかを決定します 0 (無効)
レジストリ値を変更するには、Linux VDAでctxregコマンドを実行します。たとえば、セッションシャドウイングを無効にするには、次のコマンドを実行します。
/opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent" -v "EnableSessionShadowing" -d 0x00000000

SSL

Linux VDAとCitrix Director間のnoVNC接続はWebSocketプロトコルを使用します。セッションシャドウイングの場合、ws://とwss://のどちらが選択されるかは、前述の「ShadowingUseSSL」レジストリによって異なります。デフォルトでは、ws://が選択されています。ただし、セキュリティ上の理由から、wss://を使用し、各Citrix Directorクライアントおよび各Linux VDAサーバーに証明書をインストールすることをお勧めします。Citrixは、ws://を使用するLinux VDAセッションシャドウイングに対するいかなるセキュリティ上の責任も負いません。

サーバーおよびルートSSL証明書の取得

証明書は、信頼できる認証局(CA)によって署名されている必要があります。
SSLを構成する各Linux VDAサーバーには、個別のサーバー証明書(キーを含む)が必要です。サーバー証明書は特定のコンピューターを識別するため、各サーバーの完全修飾ドメイン名(FQDN)を知っている必要があります。代わりに、ドメイン全体にワイルドカード証明書を使用することもできます。この場合、少なくともドメイン名を知っている必要があります。
Linux VDAと通信する各Citrix Directorクライアントにもルート証明書が必要です。ルート証明書は、サーバー証明書を発行するのと同じCAから入手できます。
以下のCAからサーバーおよびクライアント証明書をインストールできます。
  • オペレーティングシステムにバンドルされているCA
  • エンタープライズCA(組織がアクセスを許可しているCA)
  • オペレーティングシステムにバンドルされていないCA
証明書を取得するために組織がどの方法を要求しているかについては、組織のセキュリティチームに相談してください。
重要:
  • サーバー証明書のコモンネームは、Linux VDAの正確なFQDNであるか、少なくとも正しいワイルドカードとドメイン文字である必要があります。例:vda1.basedomain.com または *.basedomain.com。
  • SHA1やMD5を含むハッシュアルゴリズムは、一部のブラウザがサポートするデジタル証明書の署名には弱すぎます。そのため、SHA-256が最低基準として指定されています。

各Citrix Directorクライアントにルート証明書をインストールする

セッションシャドウイングは IIS と同じレジストリベースの証明書ストアを使用するため、IIS または Microsoft 管理コンソール (MMC) 証明書スナップインを使用してルート証明書をインストールできます。CA から証明書を受け取ったら、IIS で Web サーバー証明書ウィザードを再起動すると、ウィザードが証明書をインストールします。または、MMC を使用してコンピューター上の証明書を表示およびインポートし、証明書をスタンドアロンのスナップインとして追加することもできます。Internet Explorer と Google Chrome は、オペレーティングシステムにインストールされている証明書をデフォルトでインポートします。Mozilla Firefox の場合は、証明書マネージャーの 認証局 タブでルート SSL 証明書をインポートする必要があります。

各 Linux VDA サーバーにサーバー証明書とそのキーをインストールする

サーバー証明書に「shadowingcert.*」、キーファイルに「shadowingkey.*」という名前を付けます(* は形式を示します。例:shadowingcert.pem、shadowingkey.key)。サーバー証明書とキーファイルをパス /etc/xdl/shadowingssl の下に配置し、制限された権限で適切に保護します。名前またはパスが正しくないと、Linux VDA は特定の証明書またはキーファイルを見つけることができず、そのため Citrix Director との接続に失敗します。

使用方法

Citrix Director から、対象セッションを見つけ、セッションの詳細ビューで シャドウ をクリックして、Linux VDA にシャドウイング要求を送信します。
シャドウタブ
接続が初期化されると、ICA セッションクライアント(Citrix Director クライアントではない)に確認が表示され、ユーザーにセッションをシャドウイングする許可を求めます。
管理者がこのセッションをシャドウイングすることを許可するかどうか
ユーザーがはいをクリックすると、Citrix Director 側にウィンドウが表示され、ICA セッションがシャドウイングされていることを示します。
使用方法の詳細については、Citrix Director のドキュメント を参照してください。

制限事項

  • セッションシャドウイングは、イントラネット内でのみ使用するように設計されています。Citrix Gateway を介して接続する場合でも、外部ネットワークでは機能しません。Citrix は、外部ネットワークでの Linux VDA セッションシャドウイングについて一切の責任を負いません。
  • セッションシャドウイングが有効になっている場合、ドメイン管理者は ICA セッションを表示することしかできませんが、書き込みや制御の権限はありません。
  • 管理者が Citrix Director からシャドウをクリックすると、ユーザーにセッションをシャドウイングする許可を求める確認が表示されます。セッションは、セッションユーザーが許可した場合にのみシャドウイングできます。
  • 前述の確認には、20 秒のタイムアウト制限があります。タイムアウトすると、シャドウイング要求は失敗します。
  • 1 つのセッションは、1 人の管理者のみがシャドウイングできます。たとえば、管理者 B が管理者 A がシャドウイングしているセッションのシャドウイング要求を送信すると、ユーザーの許可を得るための確認がユーザーデバイスに再表示されます。ユーザーが同意すると、管理者 A のシャドウイング接続は停止し、管理者 B の新しいシャドウイング接続が確立されます。管理者が同じセッションに対して別のシャドウイング要求を送信した場合でも、新しいシャドウイング接続を確立できます。
  • セッションシャドウイングを使用するには、Citrix Director 7.16 以降をインストールします。
  • A Citrix Director クライアントは、ターゲットのLinux VDAサーバーに接続するために、IPアドレスではなくFQDNを使用します。したがって、Citrix Director クライアントはLinux VDAサーバーのFQDNを解決できる必要があります。

トラブルシューティング

セッションシャドウイングが失敗した場合は、Citrix Director クライアントとLinux VDAの両方でデバッグを行ってください。

Citrix Directorクライアントで

ブラウザーの開発者ツールを使用して、Console タブで出力ログを確認します。または、Network タブでShadowLinuxSession APIの応答を確認します。ユーザー権限取得の確認が表示されるにもかかわらず接続の確立に失敗する場合は、VDAのFQDNを手動でpingして、Citrix Director がFQDNを解決できることを確認します。wss:// 接続に問題がある場合は、証明書を確認してください。

Linux VDA で

シャドウイング要求に応答して、ユーザー権限取得の確認が表示されることを確認します。表示されない場合は、vda.logファイルとhdx.logファイルで手がかりを探します。vda.logファイルを取得するには、次の手順を実行します。
  1. /etc/xdl/ctx-vda.confファイルを見つけます。vda.log構成を有効にするには、次の行のコメントを解除します。
    Log4jConfig="/etc/xdl/log4j.xml"
  2. /etc/xdl/log4j.xmlを開き、com.citrix.dmcの部分を見つけて、「info」を次のように「trace」に変更します。
     <!-- Broker Agent Plugin - Director VDA plugin Logger -->

      <logger name="com.citrix.dmc">

        <level value="trace"/>

      </logger>
  3. service ctxvda restart コマンドを実行して、ctxvda サービスを再起動します。
接続の確立中にエラーが発生した場合:
  1. セッションシャドウイングがポートを開くのを妨げるファイアウォールの制限がないか確認します。
  2. SSLシナリオの場合、証明書とキーファイルに適切に名前を付け、正しいパスに配置していることを確認します。
  3. 新しいシャドウイング要求のために、6001~6099の間に十分なポートが残っていることを確認します。