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

最終公開日 : Nov 13, 2026
フェデレーション認証サービス (FAS) を使用して、Linux VDAにログオンするユーザーを認証できます。Linux VDAは、FASログオン機能にWindows VDAと同じWindows環境を使用します。FASのWindows環境の構成については、フェデレーション認証サービスを参照してください。この記事では、Linux VDAに特化した追加情報を提供します。
注:
  • Linux VDAは、セッション内動作ポリシーをサポートしていません。
  • Linux VDAは、FASサーバーとデータを送信するために短い接続を使用します。
  • 2206リリース以降、ctxsetup.shのCTX_XDL_FAS_LISTを介して、Linux VDA側でFASポートをカスタマイズできます。詳しくは、お使いのディストリビューションに基づいたLinux VDAのインストールに関する記事を参照してください。

Linux VDAでFASを構成する

RHEL 8.xおよびRocky Linux 8.xでのFASのサポート

FASはpam\_krb5モジュールに依存しますが、これはRHEL 8.xおよびRocky Linux 8.xでは非推奨です。マルチセッションOSモードで提供されるRHEL 8.xおよびRocky Linux 8.xマシンでFASを使用する場合は、次の手順が必要です。シングルセッションOS(VDI)モードで提供されるRHEL 8.xおよび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. RHEL 8.xおよびRocky Linux 8.xに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

FASサーバーを設定する

新規のLinux VDAインストールでFASを使用するには、ctxinstall.shまたはctxsetup.shを実行するときに、各FASサーバーのFQDNを入力します。Linux VDAはADグループポリシーをサポートしていないため、代わりにセミコロン区切りのFASサーバーのリストを指定できます。サーバーアドレスが削除された場合は、その空白を**\&lt;none\>**というテキスト文字列で埋め、サーバーアドレスの順序を変更しないでください。
既存のLinux VDAインストールをアップグレードするには、ctxsetup.shを再実行してFASサーバーを設定できます。または、次のコマンドを実行して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

service ctxjproxy restart

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

service ctxjproxy restart

service ctxvda restart

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

ユーザーの証明書を検証するには、ルートCA証明書とすべての中間証明書をVDAにインストールします。たとえば、ルートCA証明書をインストールするには、前の「Microsoft CA (AD上) からCA証明書を取得する」の手順からADルート証明書を取得するか、ルートCAサーバーからそのDER形式をダウンロードします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を実行する

FASを構成するには、ctxfascfg.shスクリプトを実行します。
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: PKINIT KDCホスト名を指定します。特に指定がない限り、CTX_FAS_KDC_HOSTNAMEと同じです。複数のDelivery Controllerがある場合は、ドメインのすべてのKDCのホスト名を /etc/krb5.conf ファイルのpkinit_kdc_hostnameに追加します。詳細については、Knowledge Centerの記事CTX322129を参照してください。
正しい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

service ctxjproxy restart

service ctxvda restart

制限事項

  • FAS は、限られた Linux プラットフォームと AD 統合方法をサポートしています。次のマトリックスを参照してください。
    ウィンバインド SSSD セントリファイ PBIS
    アマゾン リナックス 2 はい はい はい はい
    デビアン 11.3 はい はい はい はい
    RHEL 9.1/9.0 はい はい いいえ いいえ
    RHEL 8.7/8.6/8.4 はい はい はい はい
    RHEL 7.9、CentOS 7.9 はい はい はい はい
    ロッキー Linux 9.1/9.0 はい はい いいえ いいえ
    ロッキー Linux 8.7/8.6 はい はい いいえ いいえ
    SUSE 15.4 はい はい はい いいえ
    ウブントゥ 22.04/20.04/18.04 はい はい はい はい
  • 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ツールを使用することもできます。詳細については、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

解決策

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

 [realms]

EXAMPLE.COM = {

    ......

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

    ......

}  
既存の設定が正しくない場合は、前の証明書のインストールの手順に従って再度設定してください。
または、ルートCA証明書が有効であるか確認してください。

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

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

解決策

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

ADFSが構成されていません

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

解決策

フェデレーション認証サービス用にADFS IdPを展開します。詳細については、フェデレーション認証サービス ADFS展開を参照してください。

関連情報

既知の問題

FASを使用している場合、英語以外の文字を含む公開デスクトップまたはアプリセッションを起動しようとすると失敗する可能性があります。
英語以外の文字を含むセッションの起動に失敗する

回避策

CAツールでテンプレートの管理を右クリックし、Citrix\_SmartcardLogonテンプレートをこのActive Directory情報から構築から要求で提供に変更します。
要求で提供オプション