Ubuntu/Debian 仮想マシン (VM) で True SSO 機能を有効にするには、True SSO 機能が依存するライブラリ、信頼された認証をサポートするためのルート認証局 (CA) 証明書、Horizon Agent をインストールします。True SSO 認証も下位 CA によって発行される場合は、ルートおよび下位 CA 証明書の証明書チェーン全体をインストールする必要があります。認証のセットアップを完了するには、一部の構成ファイルを編集する必要があります。

次の手順に従って、Ubuntu/Debian 仮想マシンで True SSO を有効にします。

前提条件

手順

  1. 仮想マシンで pkcs11 サポート パッケージをインストールします。
    sudo apt install libpam-pkcs11
  2. libnss3-tools パッケージをインストールします。
    sudo apt install libnss3-tools
  3. ルート CA 証明書または証明書チェーンをインストールします。
    1. ダウンロードしたルート CA 証明書または証明書チェーンを見つけて、PEM ファイルに転送します。
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. システム データベースを格納する /etc/pki/nssdb ディレクトリを作成します。
      sudo mkdir -p /etc/pki/nssdb
    3. certutil コマンドを使用して、ルート CA 証明書または証明書チェーンをシステム データベース /etc/pki/nssdb にインストールします。
      次のコマンド例の「root CA cert」は、システム データベースのルート CA 証明書の名前に置き換えます。
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. /etc/pam_pkcs11/cacerts ディレクトリを作成して、ここに ルート CA 証明書または証明書チェーンをコピーします。
      mkdir -p /etc/pam_pkcs11/cacerts
      sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
    5. ルート CA 証明書または証明書チェーンのハッシュ リンクを作成します。/etc/pam_pkcs11/cacerts ディレクトリで、次のコマンドを実行します。
      pkcs11_make_hash_link
  4. Horizon Agent パッケージをインストールして、True SSO を有効にします。
    sudo ./install_viewagent.sh -T yes
  5. 次のパラメータを Horizon Agent カスタム構成ファイル (/etc/vmware/viewagent-custom.conf) に追加します。次の例を使用します。NETBIOS_NAME_OF_DOMAIN は、組織のドメインの NetBIOS 名です。
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
  6. /etc/pam_pkcs11/pam_pkcs11.conf 構成ファイルを編集します。
    1. 必要であれば、/etc/pam_pkcs11/pam_pkcs11.conf 構成ファイルを作成します。/usr/share/doc/libpam-pkcs11/examples でサンプル ファイルを探し、このファイルを /etc/pam_pkcs11 ディレクトリにコピーして、ファイル名を pam_pkcs11.conf に変更します。必要であえば、ファイルのコンテンツにシステム情報を追加します。
    2. 次の例に似たコンテンツが含まれるように、/etc/pam_pkcs11/pam_pkcs11.conf 構成ファイルを編集します。
      注: Ubuntu 20.04 以降の場合は、 use_mappers 行の末尾に ms を追加します。
      use_pkcs11_module = coolkey;
      pkcs11_module coolkey {
        module = /usr/lib/vmware/viewagent/sso/libvmwpkcs11.so;
        slot_num = 0;
        ca_dir = /etc/pam_pkcs11/cacerts;
        nss_dir = /etc/pki/nssdb;
      }
      
      mapper ms {
        debug = false;
        module = internal;
        # module = /usr/$LIB/pam_pkcs11/ms_mapper.so;
        ignorecase = false;
        # ignore domain name
        ignoredomain = true;
        domain = "DOMAIN.COM"; #<== Replace "DOMAIN.COM" with your organization's domain name
      }
      
      use_mappers = digest, cn, pwent, uid, mail, subject, null, ms;  #<== For Ubuntu 20.04 or later, append "ms" at end of use_mappers
  7. Linux ターミナルで、次の例のように /etc/krb5.conf 構成ファイルのアクセス権限を 644 に設定します。
    sudo chmod 644 /etc/krb5.conf

    権限が変更されていることを確認します。

    ls -l /etc/krb5.conf
    
    -rw-r--r-- 1 root root xxx xx xx xxxx /etc/krb5.conf
    注: 指定どおりに /etc/krb5.conf の権限を変更しないと、True SSO 機能が動作しない場合があります。
  8. 仮想マシンを再起動して、再度ログインします。