To enable True SSO with SSSD on an Ubuntu/Debian desktop, integrate the base virtual machine (VM) with an Active Directory (AD) domain using the SSSD solution. Then install the root Certificate Authority (CA) certificate to support trusted authentication before installing Horizon Agent.
Note: To ensure that an existing True SSO configuration continues to work after a Horizon 8 upgrade, you may need to modify /etc/sssd/sssd.conf. For more information, see Upgrading to Omnissa Horizon 8 2412 and Later.
Some examples in the procedure use placeholder values to represent entities in your network configuration, such as the host name of your VM. Replace the placeholder values with information specific to your configuration, as described in the following table.
| Placeholder Value | Description |
|---|---|
| dns_IP_ADDRESS | IP address of your DNS name server |
| mydomain.com | DNS name of your AD domain |
| MYDOMAIN.COM | DNS name of your AD domain, in all capital letters |
| myhost | Host name of your Ubuntu/Debian VM |
| MYDOMAIN | DNS name of the workgroup or NT domain that includes your Samba server, in all capital letters |
| ads-hostname | Host name of your AD server |
| admin-user | User name of the AD domain administrator |
Prerequisites
-
Verify that the VM is running one of the following distributions.
- Ubuntu
- Debian
-
Configure True SSO for Omnissa Access and Horizon Connection Server.
-
Get a root CA certificate and save it to
/tmp/certificate.ceron the Ubuntu/Debian VM. See How to Export Root Certification Authority Certificate.If a subordinate CA is also an issuing authority, then get the entire chain of root and subordinate CA certificates and save it to
/tmp/certificate.ceron the VM.
Procedure
-
On the base VM, verify the network connection to Active Directory.
sudo apt install -y realmd sudo realm discover mydomain.com -
Install the required dependency packages.
sudo apt-get install sssd-tools sssd libnss-sss libpam-sss libpam-pkcs11 adcli samba-common-bin krb5-user krb5-pkinit -
Join the AD domain.
sudo realm join --verbose mydomain.com -U admin-user -
Install the root CA certificate or certificate chain.
-
Locate the root CA certificate or certificate chain that you downloaded, and transfer it to a PEM file.
sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem -
Copy the certificate to the
/etc/sssd/pki/sssd_auth_ca_db.pemfile.sudo cp /tmp/certificate.pem /etc/sssd/pki/sssd_auth_ca_db.pem
-
-
Modify the
/etc/sssd/sssd.confconfiguration file, as shown in the following example.Notes:
use_fully_qualified_names = Falsemeans use short name for userAdd
ad_gpo_map_interactive = +gdm-hzncredline for SSOAdd
ad_gpo_access_control = permissiveonly for Ubuntu 20.04 and Debian 12 to fix https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1934997Add the
[pam]code lines below to have certificate login.pam_cert_authline enables certificate login for the system.pam_p11_allowed_servicesline enables certificate login for Horizon Agent.Add the
[cert]code lines to set match and map rule for certificate user.[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 fallback_homedir = /home/%u@%d access_provider = ad ad_gpo_map_interactive = +gdm-hzncred ad_gpo_access_control = permissive [pam] pam_cert_auth = True pam_p11_allowed_services = +gdm-hzncred [certmap/mydomain.com/truesso] matchrule = <EKU>msScLogin maprule = (|(userPrincipal={subject_principal})(samAccountName={subject_principal.short_name})) domains = mydomain.com priority = 10 -
Change the access mode for the
/etc/krb5.confconfiguration file to make it editable.sudo chmod 644 /etc/krb5.conf -
Modify the
/etc/krb5.conffile, as shown in the following example.kdc and pkinit_kdc_hostname specify Kerberos Key Distribution Center This can be found in output of "dig +short _kerberos._tcp.MYDOMAIN.COM SRV" or "nslookup -type=SRV _kerberos._tcp.dc._msdcs.mydomain.com"Include the following
PKINTparameters in the[realms]section.pkinit_anchors specifies the directory containing trusted CA certificates for PKINIT pkinit_kdc_hostname: Hostname of the KDC for PKINIT pkinit_eku_checking: Controls Extended Key Usage checking (example, kpServerAuth)The following example includes
PKINTparameters in the[realms]section.[realms] http://MYDOMAIN.COM = { kdc = http://dnsserver.mydomain.com admin_server = http://dnsserver.mydomain.com pkinit_anchors = FILE:/etc/sssd/pki/sssd_auth_ca_db.pem pkinit_kdc_hostname = http://dnsserver.mydomain.com pkinit_eku_checking = kpServerAuth } -
Install the Horizon Agent package, with True SSO enabled.
sudo ./install_viewagent.sh -T yes -
Modify the
/etc/omnissa/viewagent-custom.confconfiguration file so that it includes the following line.
```
NetbiosDomain = MYDOMAIN
```
11. Restart the VM and log back in.
Questa pagina è stata utile?