フェデレーション認証サービスを構成する

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

Linux VDAでFASを構成する

RHEL 8/CentOS 8でのFASサポート

FASはpam\_krb5モジュールに依存しますが、これはRHEL 8/CentOS 8では非推奨です。RHEL 8/CentOS 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/CentOS 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の実行中にCTX\_XDL\_FAS\_LISTを求められたときに、各FASサーバーのFQDNを入力します。Linux VDAはADグループポリシーをサポートしていないため、代わりにセミコロンで区切られたFASサーバーのリストを提供できます。いずれかのサーバーアドレスが削除された場合は、その空白を**\&lt;none\>**というテキスト文字列で埋め、サーバーアドレスの順序を変更しないでください。
既存のLinux VDAインストールをアップグレードする場合、FASサーバーを設定するためにctxsetup.shを再実行できます。または、次のコマンドを実行して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
    アマゾン リナックス 2 はい はい はい はい
    RHEL 8.4 / CentOS 8 (2105) はい はい はい はい
    RHEL 8.3 / CentOS 8.3 はい はい はい はい
    RHEL 8.2 / CentOS 8.2 はい はい はい はい
    RHEL 8.1 / CentOS 8.1 はい はい はい はい
    RHEL 7.9 / CentOS 7.9 はい はい はい はい
    RHEL 7.8 / CentOS 7.8 はい はい はい はい
    SLES 15.3 はい いいえ はい いいえ
    SLES 15.2 はい いいえ はい いいえ
    SLES 12.5 はい いいえ はい いいえ
    ウブントゥ 20.04 はい いいえ はい いいえ
    ウブンツ 18.04 はい いいえ はい いいえ
    ウブンツ 16.04 はい いいえ はい いいえ
  • FAS はまだロック画面をサポートしていません。セッション内でロックボタンをクリックすると、FAS を使用してそのセッションに再度ログオンすることはできません。
  • このリリースでは、Federated Authentication Service のアーキテクチャの概要 記事にまとめられている一般的な 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

解決策

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

 [realms]

EXAMPLE.COM = {

    ......

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

    ......

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

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

FASはSAML認証によって構成されます。ADFSユーザーがADFSログオンページでユーザー名とパスワードを入力した後、次のエラーが発生する可能性があります。
シャドウアカウントマッピングエラーの画像(/en-us/linux-virtual-delivery-agent/2112/media/shadow-account-mapping-error.png)
このエラーは、ADFSユーザーが正常に検証されたものの、AD上にシャドウユーザーが構成されていないことを示しています。

解決策

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

ADFSが構成されていません

FASストアへのログオン試行中に次のエラーが発生します。
ADFSが構成されていません(/en-us/linux-virtual-delivery-agent/2112/media/adfs-not-configured.png)
この問題は、FASストアがSAML認証を使用するように構成されているにもかかわらず、ADFS展開が存在しない場合に発生します。

解決策

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

関連情報

既知の問題

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

回避策

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