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

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

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

FASは、限られたLinuxディストリビューションとドメイン参加方法をサポートしています。次のマトリックスを参照してください。
ウィンバインド SSSD セントリファイ PBIS クエスト
デビアン 13.6 はい はい はい はい いいえ
デビアン 12.15 はい はい はい はい はい
RHEL 10.2/9.8/9.6 はい はい はい いいえ はい
RHEL 8.10 はい はい はい はい はい
ロッキー Linux 10.2/9.8/9.6 はい はい はい いいえ はい
ロッキー リナックス 8.10 はい はい はい いいえ はい
SUSE 15.7 はい はい はい いいえ はい
ウブントゥ 26.04 はい はい いいえ いいえ いいえ
ウブントゥ 24.04 はい はい はい いいえ はい
ウブントゥ 22.04 はい はい はい はい はい
注:
  1. /etc/krb5.confが存在しない場合。そのようなシナリオでは、まず「krb5-pkinit」と「libpam-krb5」を手動でインストールしてください(これによりKerberos情報が求められ、krb5.confに書き込まれます)。その後、fasスクリプト「/opt/Citrix/VDA/sbin/ctxfascfg.sh」を実行します。
  2. RHELおよびRocky Linux 10.x/9.xの場合、AD-SUPPORT暗号化ポリシーを有効にします。
    update-crypto-policies --set DEFAULT:AD-SUPPORT
Active DirectoryがKerberos認証中にSHA-1を使用する場合、SHA-1のサポートも有効にする必要があります。
RHELおよびRocky Linux 9.xでは、組み込みのSHA1サブポリシーを有効にします。
`update-crypto-policies --set DEFAULT:AD-SUPPORT:SHA1`
RHELおよびRocky Linux 10.xでは、組み込みのSHA1サブポリシーは提供されなくなりました。可能な場合は、Active Directory CAおよびドメインコントローラー証明書をSHA-256で再発行することをお勧めします。上記のサブポリシーは、SHA-1の使用を継続する必要がある環境向けです。AD-SUPPORT-LEGACYは代替手段ではありません。これはKerberos暗号化タイプを広げるだけであり、SHA-1署名を再度有効にするものではありません。
SHA-1の使用を継続するには、独自の同等のサブポリシーを作成し、それを適用します。
sudo tee /etc/crypto-policies/policies/modules/AD-SHA1.pmod > /dev/null <<'EOF'
hash = SHA1+
sign = ECDSA-SHA1+ RSA-PSS-SHA1+ RSA-SHA1+
sha1_in_certs = 1
EOF
sudo update-crypto-policies --set DEFAULT:AD-SUPPORT:AD-SHA1
新しいポリシーは、その後起動されたアプリケーションに適用されます。すべての場所に適用するには、再起動してください。

Linux VDAでのFASの構成

証明書のインストール

ユーザーの証明書を検証するために、ルート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 mkdir -p /etc/pki/CA/certs/
sudo cp root.pem /etc/pki/CA/certs/
注:
ルートCA証明書を /root パスに配置しないでください。そうしないと、FASはルートCA証明書に対する read 権限を持ちません。

ctxfascfg.sh を実行する

ctxfascfg.sh スクリプトを実行してFASを構成します。
sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
ctxfascfg.shをサイレントモードで実行できます。スクリプトをサイレントモードで実行する前に、以下の環境変数を設定してください。
  • CTX\_FAS\_ADINTEGRATIONWAY=winbind \| sssd \| centrify \| pbis \| quest: 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とQuestを選択した場合のKey Distribution Center (KDC) のホスト名を指定します。
  • CTX_FAS_PKINIT_KDC_HOSTNAME: PKINIT KDCホスト名を指定します。特に指定がない限り、CTX_FAS_KDC_HOSTNAMEと同じです。複数のDelivery Controllerがある場合は、ドメインのすべてのKDCのホスト名を /etc/krb5.conf ファイルのpkinit_kdc_hostnameに追加します。詳細については、Knowledge Centerの記事 CTX322129を参照してください。
  • CTX_FAS_SERVER_LIST='list-fas-servers' – Federated Authentication Service (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パッケージをインストールし、関連する構成ファイルを設定します。RHEL 8以降では、PAM_KRB5がEPELリポジトリに移動されたため、スクリプトはこれらのディストリビューションでEPELを有効にしようとします。

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 SSOの失敗時にセカンダリ認証を有効にする

Linux VDAは、FASシングルサインオン(SSO)が失敗した場合に特にセカンダリ認証方法を提供することで、ログインの回復力を強化します。この機能により、FAS SSOで問題が発生した場合、ユーザーはパスワード認証のために手動で資格情報を入力するよう求められます。この機能を有効にするには、次のコマンドを実行します。
create -k "HKLM\System\CurrentControlSet\Control\Citrix\AccessControl\Login\Global" -t "REG_DWORD" -v "SecondaryAuthEnabled" -d "0x00000001" --force

制限事項

  • FASはまだロック画面をサポートしていません。セッションでロックボタンをクリックすると、FASを使用してセッションに再度ログオンすることはできません。
  • このリリースでは、(/ja-jp/federated-authentication-service/2607-ltsr/deployment-architectures.html)記事のにまとめられている一般的な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/

    ......

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

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

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

解決策

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

ADFSが構成されていません

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

解決策

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

関連情報

既知の問題

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

回避策

CAツールで Manage Templates を右クリックし、Citrix\_SmartcardLogon テンプレートを Build from this Active Directory information から Supply in the request に変更します。
リクエストオプションで提供(/en-us/linux-virtual-delivery-agent/2607-ltsr/media/supply-in-the-request.png)