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

最終公開日 : 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 サーバーとのデータ転送に短い接続を使用します。
  • 2206 リリース以降、ctxsetup.sh の CTX_XDL_FAS_LIST を介して Linux VDA 側で FAS ポートをカスタマイズできます。詳細については、お使いのディストリビューションに基づいた Linux VDA インストール記事を参照してください。

Linux VDA で FAS を構成する

RHEL 8 での FAS のサポート

FAS は pam\_krb5 モジュールに依存しますが、これは RHEL 8 では非推奨です。RHEL 8 で FAS を使用するには、次のように pam\_krb5 モジュールをビルドします。
  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 に 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を実行する

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を選択した場合のKey Distribution Center (KDC) のホスト名を指定します。
  • CTX_FAS_PKINIT_KDC_HOSTNAME: PKINIT KDCホスト名を指定します。特に指定がない限り、CTX_FAS_KDC_HOSTNAMEと等しくなります。
正しいActive Directory統合方法を選択し、証明書の正しいパス(例: /etc/pki/CA/certs/)を入力します。
その後、スクリプトはkrb5-pkinitおよびpam\_krb5パッケージをインストールし、関連する構成ファイルを設定します。

制限事項

  • FASは、限られたLinuxプラットフォームとAD統合方法をサポートしています。次のマトリックスを参照してください。
    ウィンバインド SSSD セントリファイ PBIS
    アマゾン Linux 2 はい はい はい はい
    デビアン 11.3、デビアン 10.9 はい いいえ いいえ いいえ
    RHEL 8.4 はい はい はい はい
    RHEL 8.2 はい はい はい はい
    RHEL 7.9 / CentOS 7.9 はい はい はい はい
    SLES 15.3 はい いいえ はい いいえ
    SLES 15.2 はい いいえ はい いいえ
    ウブントゥ 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を参照してください。

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ストアからのセッション起動に失敗します。灰色のウィンドウが表示され、数秒後に消えます。
ルートCA証明書の構成が正しくないためログオンが無効です
/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/

    ......

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

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

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

解決策

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

ADFS が構成されていません

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

解決策

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

関連情報

既知の問題

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

回避策

CA ツールで を右クリックし、Citrix\_SmartcardLogon テンプレートを から に変更します。
要求オプションの供給