フェデレーション認証サービス

最終公開日 : Nov 13, 2026
Federated Authentication Service (FAS) を使用して、Linux VDA にログオンするユーザーを認証できます。Linux VDA は、FAS ログオン機能に Windows VDA と同じ Windows 環境を使用します。FAS 用の Windows 環境の構成については、「Federated Authentication Service」を参照してください。この記事では、Linux VDA に固有の追加情報を提供します。
注:
  • Linux VDA は、インセッション動作ポリシーをサポートしていません。
  • Linux VDA は、FAS サーバーとのデータ転送に短い接続を使用します。

サポートされているディストリビューション

FAS は、限られた Linux ディストリビューションとドメイン参加方法をサポートしています。次のマトリックスを参照してください。
ウィンバインド SSSD セントリファイ PBIS
アマゾン リナックス 2 はい はい はい はい
デビアン 11.7/11.3 はい はい はい はい
RHEL 9.2/9.0 はい はい いいえ いいえ
RHEL 8.8/8.6 はい はい はい はい
RHEL 7.9、CentOS 7.9 はい はい はい はい
ロッキー リナックス 9.2/9.0 はい はい いいえ いいえ
ロッキーリナックス 8.8/8.6 はい はい いいえ いいえ
SUSE 15.5 はい はい はい いいえ
ウブントゥ 22.04/20.04 はい はい はい はい

Linux VDA で FAS を構成する

RHEL/Rocky Linux 8.x 以降での FAS サポート

FAS は pam\_krb5 モジュールに依存しますが、これは RHEL/Rocky Linux 8.x 以降では非推奨です。マルチセッション OS モードで提供される RHEL/Rocky Linux 8.x 以降のマシンで FAS を使用する場合は、以下の手順が必要です。シングルセッション OS (VDI) モードで提供される RHEL/Rocky Linux 8.x 以降のマシンでの FAS の場合、以下の手順はスキップできます。
  1. 以下の Web サイトから pam\_krb5-2.4.8-6 ソースコードをダウンロードします。
    <https://centos.pkgs.org/7/centos-x86_64/pam_krb5-2.4.8-6.el7.x86_64.rpm.html>。
  2. pam\_krb5 モジュールをビルドしてインストールします。
    yum install make gcc krb5-devel pam-devel autoconf libtool

    rpm2cpio pam_krb5-2.4.8-6.el7.src.rpm | cpio -div

    tar xvzf pam_krb5-2.4.8.tar.gz

    cd pam_krb5-2.4.8

    ./configure --prefix=/usr

    make

    make install
  3. /usr/lib64/security/ に pam\_krb5.so が存在することを確認します。
    ls -l /usr/lib64/security | grep pam_krb5

証明書をインストールする

ユーザーの証明書を検証するには、ルート CA 証明書とすべての中間証明書を VDA にインストールします。たとえば、ルート CA 証明書をインストールするには、前の「Microsoft CA (AD 上) から CA 証明書を取得する」の手順で AD ルート証明書を取得するか、ルート CA サーバー http://CA-SERVER/certsrv からダウンロードします。
注:
以下のコマンドは、中間証明書を構成する場合にも適用されます。
たとえば、DER ファイル (.crt、.cer、.der) を PEM に変換するには、次のようなコマンドを実行します。
sudo openssl x509 -inform der -in root.cer -out root.pem
次に、次のようなコマンドを実行して、ルート CA 証明書を openssl ディレクトリにインストールします。
sudo cp root.pem /etc/pki/CA/certs/
注:
ルート CA 証明書を /root パスに配置しないでください。そうしないと、FAS はルート CA 証明書に対する読み取り権限を持ちません。

ctxfascfg.sh を実行する

ctxfascfg.sh スクリプトを実行して FAS を構成します:
sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
ctxfascfg.sh をサイレントモードで実行できます。サイレントモードでスクリプトを実行する前に、次の環境変数を設定してください:
  • CTX\_FAS\_ADINTEGRATIONWAY=winbind \| sssd \| centrify \| pbis: Active Directory 統合方法を示します。これは、CTX_EASYINSTALL_ADINTEGRATIONWAY が指定されている場合に CTX_EASYINSTALL_ADINTEGRATIONWAY と等しくなります。CTX_EASYINSTALL_ADINTEGRATIONWAY が指定されていない場合、CTX_FAS_ADINTEGRATIONWAY は独自の値を設定します。
  • CTX\_FAS\_CERT\_PATH \=\&lt;certificate path\>: ルート証明書とすべての中間証明書を格納する完全なパスを指定します。
  • CTX_FAS_KDC_HOSTNAME: PBIS を選択した場合のキー配布センター (KDC) のホスト名を指定します。
  • CTX_FAS_PKINIT_KDC_HOSTNAME: 特に指定がない限り、CTX_FAS_KDC_HOSTNAME と等しい PKINIT KDC ホスト名を指定します。複数の Delivery Controller がある場合は、ドメインのすべての KDC のホスト名を /etc/krb5.conf ファイルの pkinit_kdc_hostname に追加します。詳細については、Knowledge Center の記事 CTX322129 を参照してください。
  • CTX_FAS_SERVER_LIST='list-fas-servers' – フェデレーション認証サービス (FAS) サーバーは、AD グループポリシーを通じて構成されます。ドメイン GPO での FAS ポリシー設定については、グループポリシーの構成 を参照してください。Linux VDA は AD グループポリシーをサポートしていませんが、代わりにセミコロンで区切られた FAS サーバーのリストを提供できます。シーケンスは、AD グループポリシーで構成されているものと同じである必要があります。サーバーアドレスが削除された場合は、その空白を '\&lt;none\>' テキスト文字列で埋め、サーバーアドレスの順序を変更しないでください。FAS サーバーと適切に通信するには、FAS サーバーで指定されているポート番号と一致するポート番号を追加してください。例: CTX_XDL_FAS_LIST='fas_server_1_url:port_number; fas_server_2_url: port_number; fas_server_3_url: port_number'。
    既存の Linux VDA インストールをアップグレードするには、次のコマンドを実行して FAS サーバーを設定し、ctxvda サービスを再起動して設定を有効にすることができます。
    sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force

    systemctl restart ctxjproxy

    systemctl restart ctxvda
    ctxreg を介して FAS サーバーを更新するには、次のコマンドを実行します:
    sudo /opt/Citrix/VDA/bin/ctxreg update -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -v "Addresses" -d "<Your-FAS-Server-List>"

    systemctl restart ctxjproxy

    systemctl restart ctxvda
正しい Active Directory 統合方法を選択し、証明書の正しいパス (例: /etc/pki/CA/certs/) を入力します。
スクリプトは、krb5-pkinit および pam\_krb5 パッケージをインストールし、関連する構成ファイルを設定します。

FAS を無効にする

Linux VDA で FAS を無効にするには、次のコマンドを使用して ConfDB からすべての FAS サーバーを削除します:
sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "" --force

systemctl restart ctxjproxy

systemctl restart ctxvda

制限事項

  • FAS はまだロック画面をサポートしていません。セッションでロックボタンをクリックすると、FAS を使用してセッションに再度ログオンすることはできません。
  • このリリースでは、フェデレーション認証サービスアーキテクチャの概要の記事にまとめられている一般的なFAS展開のみをサポートしており、Windows 10 Azure AD Joinは含まれていません。

トラブルシューティング

FASのトラブルシューティングを行う前に、以下を確認してください。
  • Linux VDAが正しくインストールされ、構成されていること。
  • パスワード認証を使用して、共通ストアでFAS以外のセッションを正常に起動できること。
FAS以外のセッションが正常に機能する場合は、LoginクラスのHDXログレベルをVERBOSEに、VDAログレベルをTRACEに設定します。Linux VDAのトレースログを有効にする方法については、Knowledge Centerの記事CTX220130を参照してください。
Linux VDA環境に存在する可能性のある一般的な構成の問題を確認するには、Linux XDPingツールを使用することもできます。

FASサーバー構成エラー

FASストアからのセッション起動に失敗します。
/var/log/xdl/hdx.logを確認し、次のようなエラーログを見つけてください。
2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: [Logon Type] Federated Authentication Logon.

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: entry

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas: start connect to server 0

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: connect_fas0: failed to connect: Connection refused.

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: failed to connect to server [0], please confirm if fas service list is well configurated in condb

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_fas: exit, 43

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: validate_user: failed to validate fas credential

2021-01-28 01:42:16.164 <P26422:S4> citrix-ctxlogin: LoginBoxValidate: failed validation of user 'user1@CTXDEV.LOCAL', INVALID_PARAMETER

解決策

次のコマンドを実行して、Citrixレジストリ値「HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Citrix\\VirtualDesktopAgent\\Authentication\\UserCredentialService」が\&lt;Your-FAS-Server-List\>に設定されていることを確認します。
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
既存の設定が正しくない場合は、前述のFASサーバーの設定の手順に従って再度設定してください。

CA証明書構成が正しくありません

FASストアからのセッション起動に失敗します。灰色のウィンドウが表示され、数秒後に消えます。
/var/log/xdl/hdx.logを確認し、次のようなエラーログを見つけてください。
2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_logon_certificate: entry

2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: check_caller: current process: pid [30656], name [/opt/Citrix/VDA/bin/ctxlogin]

2021-01-28 01:47:46.210 <P30656:S5> citrix-ctxlogin: get_public_certificate: entry

2021-01-28 01:47:46.211 <P30656:S5> citrix-ctxlogin: query_fas: waiting for response...

2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: query_fas: query to server success

2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: get_public_certificate: exit

2021-01-28 01:47:46.270 <P30656:S5> citrix-ctxlogin: fas_base64_decode: input size 1888

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: fas_base64_decode: output size 1415

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: get logon certificate success

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: cache_certificate: cache certificate success

2021-01-28 01:47:46.271 <P30656:S5> citrix-ctxlogin: get_logon_certificate: exit, 0

2021-01-28 01:47:48.060 <P30656:S5> citrix-ctxlogin: validate_user: pam_authenticate err,can retry for user user1@CTXDEV.LOCAL

解決策

/etc/krb5.confにルートCA証明書とすべての中間証明書を格納するフルパスが正しく設定されていることを確認します。フルパスは次のようになります。

 [realms]

EXAMPLE.COM = {

    ......

    pkinit_anchors = DIR:/etc/pki/CA/certs/

    ......

}  
既存の設定が正しくない場合は、前の「証明書のインストール」(/ja-jp/linux-virtual-delivery-agent/2311/configure/authentication/federated-authentication-service.html#install-certificates)の手順に従って、再度設定してください。
または、ルートCA証明書が有効であるかを確認してください。

シャドウアカウントマッピングエラー

FASはSAML認証によって構成されます。ADFSユーザーがADFSログオンページでユーザー名とパスワードを入力した後、次のエラーが発生する可能性があります。
シャドウアカウントマッピングエラー
このエラーは、ADFSユーザーは正常に検証されたものの、ADにシャドウユーザーが構成されていないことを示します。

解決策

ADでシャドウアカウントを設定します。

ADFSが構成されていません

FASストアへのログオン試行中に次のエラーが発生します。
ADFSが構成されていません
この問題は、FASストアをSAML認証を使用するように構成したが、ADFS展開が不足している場合に発生します。

解決策

フェデレーション認証サービス用にADFS IdPを展開します。詳細については、「フェデレーション認証サービスADFS展開」(/ja-jp/federated-authentication-service/2311/deployment-architectures/adfs.html)を参照してください。

関連情報

  • 一般的なFAS展開は、「フェデレーション認証サービスアーキテクチャの概要」(/ja-jp/federated-authentication-service/2311/deployment-architectures.html)の記事にまとめられています。
  • 「ハウツー」記事は、「フェデレーション認証サービスの高度な構成」(/ja-jp/federated-authentication-service/2311/config-manage.html)の章で紹介されています。

既知の問題

FASを使用している場合、英語以外の文字を含む公開デスクトップまたはアプリセッションを起動しようとすると失敗する可能性があります。
英語以外の文字を含むセッションの起動に失敗する(/en-us/linux-virtual-delivery-agent/2311/media/launching-nonenglish-session-fails.png)

回避策

CAツールでテンプレートの管理を右クリックし、Citrix\_SmartcardLogonテンプレートをこのActive Directory情報から構築から要求で提供に変更します。
要求で提供オプション(/en-us/linux-virtual-delivery-agent/2311/media/supply-in-the-request.png)