Ubuntu/Debian デスクトップで True SSO を有効にするには、SSSD ソリューションを使用して、ベース仮想マシン (VM) と Active Directory (AD) ドメインを統合します。次に、Horizon Agent をインストールする前に、信頼された認証をサポートするためにルート認証局 (CA) 証明書をインストールします。
次の手順に従って、Ubuntu/Debian 仮想マシンで SSSD を使用した True SSO を有効にします。
説明の中で、仮想マシンのホスト名などのネットワーク構成のエンティティをプレースホルダーで表している部分があります。次の表を参考にして、これらのプレースホルダーの値をご使用の環境に合わせて変更してください。
プレースホルダーの値 |
説明 |
dns_IP_ADDRESS |
DNS ネーム サーバの IP アドレス |
mydomain.com |
Active Directory ドメインの DNS 名 |
MYDOMAIN.COM |
Active Directory ドメインの DNS 名。すべて大文字にします。 |
myhost |
Ubuntu/Debian 仮想マシンのホスト名 |
MYDOMAIN |
ワークグループの DNS 名または Samba サーバが含まれている NT ドメインの DNS 名。すべて大文字にします。 |
ads-hostname |
Active Directory サーバのホスト名 |
admin-user |
Active Directory ドメインの管理者のユーザー名 |
手順
- ベース仮想マシンで、Active Directory とのネットワーク接続を確認します。
sudo realm discover mydomain.com
- 必要な依存パッケージをインストールします。
sudo apt-get install sssd-tools sssd libnss-sss libpam-sss adcli samba-common-bin krb5-user krb5-pkinit
- Active Directory ドメインに参加します。
sudo realm join --verbose mydomain.com -U admin-user
- ルート CA 証明書または証明書チェーンをインストールします。
- ダウンロードしたルート CA 証明書または証明書チェーンを見つけて、PEM ファイルに転送します。
sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
- /etc/sssd/pki/sssd_auth_ca_db.pem ファイルに証明書をコピーします。
sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
- 次の例のように、/etc/sssd/sssd.conf 構成ファイルを変更します。
[sssd]
domains = mydomain.com
config_file_version = 2
services = nss, pam
[domain/mydomain.com]
ad_domain = mydomain.com
krb5_realm = MYDOMAIN.COM
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False #Use short name for user
fallback_homedir = /home/%u@%d
access_provider = ad
ad_gpo_map_interactive = +gdm-vmwcred #Add this line for SSO
ad_gpo_access_control = permissive #Only add this line for Ubuntu 20.04 and Debian 12 to fix https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1934997
[pam] #Add pam section for certificate login
pam_cert_auth = True #Add this line to enable certificate login for system
pam_p11_allowed_services = +gdm-vmwcred #Add this line to enable certificate login for VMware Horizon Agent
[certmap/mydomain.com/truesso] #Add this section and following lines to set match and map rule for certificate user
matchrule = <EKU>msScLogin
maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name}))
domains = mydomain.com
priority = 10
- /etc/krb5.conf 構成ファイルのアクセス モードを変更して、編集可能にします。
sudo chmod 644 /etc/krb5.conf
- 次の例のように、/etc/krb5.conf ファイルを変更します。
[realms]
MYDOMAIN.COM = {
kdc = kdcserver.mydomain.com
admin_server = dnsserver.mydomain.com
pkinit_anchors = DIR:/etc/sssd/pki
pkinit_kdc_hostname = kdcserver.mydomain.com
pkinit_eku_checking = kpServerAuth
}
[domain_realm]
.mydomain.com = MYDOMAIN.COM
mydomain.com = MYDOMAIN.COM
- Horizon Agent パッケージをインストールして、True SSO を有効にします。
sudo ./install_viewagent.sh -T yes
- /etc/vmware/viewagent-custom.conf 構成ファイルに次の行を追加します。
- 仮想マシンを再起動して、再度ログインします。