RHEL 9.x/8.x 仮想マシン (VM) でスマート カード リダイレクトを構成するには、スマート カードの信頼された認証をサポートするため、機能が依存するライブラリとルート認証局 (CA) 証明書をインストールします。

前提条件

手順

  1. 必要なライブラリをインストールします。
    yum install -y opensc pcsc-lite pcsc-lite-libs pcsc-lite-ccid nss-tools
  2. pcscd サービスを有効にします。
    systemctl enable pcscd
    systemctl start pcscd
  3. /etc/sssd/sssd.conf 構成ファイルに次の行が含まれていることを確認します。これにより、スマートカード認証が有効になります。
    [pam]
    pam_cert_auth = True
  4. 必要な CA 証明書を /etc/sssd/pki/sssd_auth_ca_db.pem にコピーします。
    openssl x509 -inform der -in certificate.cer -out certificate.pem
    cp certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
  5. スマート カードのステータスを確認するには、次の pkcs11-tool コマンドを実行し、正しい出力が返されることを確認します。
    pkcs11-tool -L
    
    pkcs11-tool --login -O
    
    pkcs11-tool --test --login
  6. 必要なドライバをコピーし、必要なライブラリ ファイルを nssdb ディレクトリに追加します。
    1. 次の例のようなコマンドを実行します。
      これらのコマンド例では、Gemalto PIV 2.0 カード用のドライバ ファイル libcmP11.sonssdb ディレクトリに追加します。 libcmP11.so の代わりに、スマート カード用のドライバ ファイルを使用することもできます。
      cp libcmP11.so /usr/lib64/
      mkdir -p /etc/pki/nssdb
      certutil -N -d /etc/pki/nssdb
      certutil -A -n rootca -i certificate.pem -t "CT,CT,CT" -d /etc/pki/nssdb
      modutil -dbdir /etc/pki/nssdb/  -add "piv card 2.0" -libfile /usr/lib64/libcmP11.so
    2. 次のコマンドを実行して、予期した証明書が正常に読み込まれていることを確認します。
      # certutil -L -d /etc/pki/nssdb
      コマンドから次のような出力が返されることを確認します。
      Certificate Nickname
      rootca
    3. 次のコマンドを実行して、予期したライブラリが正常に追加されていることを確認します。
      modutil -dbdir /etc/pki/nssdb -list
      コマンドから次のような出力が返されることを確認します。
      Listing of PKCS #11 Modules
      –-----------------------------------------------------------
        1. NSS Internal PKCS #11 Module
               slots: 2 slots attached
              status: loaded
      
               slot: NSS Internal Cryptographic Services
              token: NSS Generic Crypto Services
      
               slot: NSS User Private Key and Certificate Services
              token: NSS Certificate DB
      
        2. piv card 2.0
              library name: /usr/lib/libcmP11.so
               slots: There are no slots attached to this module
              status: loaded
      –-----------------------------------------------------------
  7. /usr/share/p11-kit/modules/libcmP11.module ファイルを作成します。次の内容をファイルに追加します。
    # This file describes how to load the opensc module
    # See: http://p11-glue.freedesktop.org/doc/p11-kit/config.html
     
    # This is a relative path, which means it will be loaded from
    # the p11-kit default path which is usually $(libdir)/pkcs11.
    # Doing it this way allows for packagers to package opensc for
    # 32-bit and 64-bit and make them parallel installable
    module: /usr/lib64/libcmP11.so
    priority: 99
    注: (RHEL 9.x) また、システムから /usr/share/p11-kit/modules/p11-kit-trust.module ファイルを削除する必要があります。 opensc を使用していない場合は、 /usr/share/p11-kit/modules/opensc.module ファイルを削除する必要があります。
  8. スマート カードの SSO 機能をサポートするには、/etc/vmware/viewagent-greeter.conf ファイルを設定します。Linux デスクトップでの構成ファイルのオプション設定を参照してください。
  9. Horizon Agent パッケージをインストールして、スマート カード リダイレクトを有効にします。
    • .rpm インストーラを使用する場合:
      1. インストーラを実行し、デフォルトの機能オプションを使用して Horizon Agent をインストールします。
        sudo rpm -ivh VMware-horizonagent-linux-YYMM-y.y.y-xxxxxxx.el8.x86_64.rpm
      2. スマート カード リダイレクト機能を追加するには、ViewSetup.sh スクリプトを実行します。
        /usr/lib/vmware/viewagent/bin/ViewSetup.sh -m yes
    • .tar.gz インストーラを使用する場合は、次のパラメータを指定してインストーラを実行し、スマート カード リダイレクトを有効にします。
      sudo ./install_viewagent.sh -m yes
    注: デフォルトの PC/SC Lite ライブラリをインストールするように指示するエラー メッセージが表示された場合は、マシンに現在存在するカスタム PC/SC Lite ライブラリをアンインストールし、次のコマンドを使用してデフォルトの PC/SC Lite ライブラリをインストールします。
    yum reinstall pcsc-lite-libs pcsc-lite

    その後、Horizon Agent インストーラを実行できます。

  10. カスタム PC/SC Lite ライブラリを使用している場合は、/etc/vmware/config ファイルで pcscd.maxReaderContext および pcscd.readBody オプションを構成します。
  11. 仮想マシンを再起動して、再度ログインします。