Ubuntu/Debian 仮想マシン (VM) で True SSO 機能を有効にするには、True SSO 機能が依存するライブラリ、信頼された認証をサポートするためのルート認証局 (CA) 証明書、Horizon Agent をインストールします。True SSO 認証も下位 CA によって発行される場合は、ルートおよび下位 CA 証明書の証明書チェーン全体をインストールする必要があります。認証のセットアップを完了するには、一部の構成ファイルを編集する必要があります。
次の手順に従って、Ubuntu/Debian 仮想マシンで True SSO を有効にします。
手順
- 仮想マシンで pkcs11 サポート パッケージをインストールします。
sudo apt install libpam-pkcs11
- libnss3-tools パッケージをインストールします。
sudo apt install libnss3-tools
- ルート CA 証明書または証明書チェーンをインストールします。
- ダウンロードしたルート CA 証明書または証明書チェーンを見つけて、PEM ファイルに転送します。
openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
- システム データベースを格納する /etc/pki/nssdb ディレクトリを作成します。
sudo mkdir -p /etc/pki/nssdb
- 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
- /etc/pam_pkcs11/cacerts ディレクトリを作成して、ここに ルート CA 証明書または証明書チェーンをコピーします。
mkdir -p /etc/pam_pkcs11/cacerts
sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
- ルート CA 証明書または証明書チェーンのハッシュ リンクを作成します。/etc/pam_pkcs11/cacerts ディレクトリで、次のコマンドを実行します。
- Horizon Agent パッケージをインストールして、True SSO を有効にします。
sudo ./install_viewagent.sh -T yes
- 次のパラメータを Horizon Agent カスタム構成ファイル (/etc/vmware/viewagent-custom.conf) に追加します。次の例を使用します。NETBIOS_NAME_OF_DOMAIN は、組織のドメインの NetBIOS 名です。
NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
- /etc/pam_pkcs11/pam_pkcs11.conf 構成ファイルを編集します。
- 必要であれば、/etc/pam_pkcs11/pam_pkcs11.conf 構成ファイルを作成します。/usr/share/doc/libpam-pkcs11/examples でサンプル ファイルを探し、このファイルを /etc/pam_pkcs11 ディレクトリにコピーして、ファイル名を pam_pkcs11.conf に変更します。必要であえば、ファイルのコンテンツにシステム情報を追加します。
- 次の例に似たコンテンツが含まれるように、/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
- 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 機能が動作しない場合があります。
- 仮想マシンを再起動して、再度ログインします。