Linux仮想配信エージェント 2411

フェデレーテッド認証サービス

フェデレーテッド認証サービス (FAS) を使用して、Linux VDAにログオンするユーザーを認証できます。Linux VDAは、FASログオン機能にWindows VDAと同じWindows環境を使用します。FASのWindows環境の構成については、「Federated Authentication Service」を参照してください。この記事では、Linux VDAに固有の追加情報を提供します。

注:

  • Linux VDAは、セッション内動作ポリシーをサポートしていません。

  • Linux VDAは、FASサーバーとのデータ転送にショート接続を使用します。

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

FASは、限られたLinuxディストリビューションとドメイン参加方法をサポートしています。次のマトリックスを参照してください。

  Winbind SSSD Centrify PBIS Quest
Amazon Linux 2 はい はい はい はい いいえ
Debian 12.7/12.5/11.11 はい はい はい はい いいえ
RHEL 9.4/9.2 はい はい いいえ いいえ はい
RHEL 8.10/8.8 はい はい はい はい はい
Rocky Linux 9.4/9.2 はい はい いいえ いいえ いいえ
Rocky Linux 8.10/8.8 はい はい いいえ いいえ いいえ
SUSE 15.6 はい はい はい いいえ いいえ
Ubuntu 24.04 はい はい いいえ いいえ いいえ
Ubuntu 22.04/20.04 はい はい はい はい はい

Linux VDAでのFASの構成

証明書のインストール

ユーザーの証明書を検証するには、ルートCA証明書とすべての中間証明書をVDAにインストールします。たとえば、ルートCA証明書をインストールするには、前述のMicrosoft CAからCA証明書を取得する(AD上)の手順からADルート証明書を取得するか、ルートCAサーバーhttp://CA-SERVER/certsrvからダウンロードします。

注:

次のコマンドは、中間証明書の構成にも適用されます。

たとえば、DERファイル(.crt、.cer、.der)をPEMに変換するには、次のようなコマンドを実行します。

sudo openssl x509 -inform der -in root.cer -out root.pem
<!--NeedCopy-->

次に、次のようなコマンドを実行して、ルートCA証明書をopensslディレクトリにインストールします。

-  sudo cp root.pem /etc/pki/CA/certs/
<!--NeedCopy-->

注:

ルートCA証明書を/rootパスの下に置かないでください。そうしないと、FASはルートCA証明書への読み取り権限を持ちません。

ctxfascfg.shの実行

ctxfascfg.shスクリプトを実行してFASを構成します。

sudo /opt/Citrix/VDA/sbin/ctxfascfg.sh
<!--NeedCopy-->

ctxfascfg.shをサイレントモードで実行できます。スクリプトをサイレントモードで実行する前に、次の環境変数を設定します。

  • CTX_FAS_ADINTEGRATIONWAY=winbind | sssd | centrify | pbis | quest:Active Directory統合方法を示します。CTX_EASYINSTALL_ADINTEGRATIONWAYが指定されている場合、これと同じ値になります。CTX_EASYINSTALL_ADINTEGRATIONWAYが指定されていない場合、CTX_FAS_ADINTEGRATIONWAYは独自の値を設定します。

  • CTX_FAS_CERT_PATH =<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’ – フェデレーテッド認証サービス(FAS)サーバーは、ADグループポリシーを介して構成されます。ドメインGPOでのFASポリシー設定については、「Configure Group Policy」を参照してください。Linux VDAはADグループポリシーをサポートしていませんが、代わりにセミコロン区切りのFASサーバーのリストを提供できます。シーケンスは、ADグループポリシーで構成されているものと同じである必要があります。サーバーアドレスが削除された場合は、その空白を’<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
    
     <!--NeedCopy-->
    

    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
    
     <!--NeedCopy-->
    

正しい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
<!--NeedCopy-->

制限事項

  • FASはまだ画面ロックをサポートしていません。セッションでロックボタンをクリックしても、FASを使用してセッションに再度ログオンすることはできません。
  • このリリースは、「Federated Authentication Service architectural overview」の記事にまとめられている一般的なFAS展開のみをサポートしており、Windows 10 Azure AD Joinは含まれていません。

トラブルシューティング

FASのトラブルシューティングを行う前に、次のことを確認してください。

  • Linux VDAが正しくインストールおよび構成されていること。
  • パスワード認証を使用して、共通ストアで非FASセッションが正常に起動できること。

非FASセッションが正常に動作する場合は、LoginクラスのHDXログレベルをVERBOSEに、VDAログレベルをTRACEに設定します。Linux VDAのトレースログを有効にする方法については、Knowledge Centerの記事「CTX220130」を参照してください。

Linux XDPingツールを使用して、Linux VDA環境に存在する可能性のある一般的な構成の問題を確認することもできます。

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

<!--NeedCopy-->

Your-FAS-Server-List

解決策

Citrixレジストリ値「HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService」が <Your-FAS-Server-List> に設定されていることを確認するには、次のコマンドを実行します。

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep "UserCredentialService"
<!--NeedCopy-->

既存の設定が正しくない場合は、前の 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
<!--NeedCopy-->

解決策

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


 [realms]

EXAMPLE.COM = {

    ......

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

    ......

}  
<!--NeedCopy-->

既存の設定が正しくない場合は、前の 証明書のインストール 手順に従って再度設定してください。

または、ルートCA証明書が有効であるかを確認してください。

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

FASがSAML認証で構成されている場合、ADFSユーザーがADFSログオンページでユーザー名とパスワードを入力した後に、次のエラーが発生する可能性があります。

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

このエラーは次のことを示しています。

  • ADFSユーザーは正常に検証されましたが、ADにシャドウユーザーが構成されていません。

解決策

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

ADFS未構成

FASストアへのログオン試行中に次のエラーが発生します。

ADFS未構成

この問題は、FASストアをSAML認証を使用するように構成しているにもかかわらず、ADFS展開が不足している場合に発生します。

解決策

Federated Authentication Service用のADFS IdPを展開します。詳細については、「Federated Authentication Service ADFSの展開」を参照してください。

関連情報

既知の問題

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

非英語文字を含むセッションの起動失敗

回避策

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

要求で提供オプション

フェデレーテッド認証サービス