Para habilitar la función True SSO en una máquina virtual Ubuntu, instale las bibliotecas de las que depende la función True SSO, la entidad de certificación (CA) raíz para poder usar la autenticación de confianza, y Horizon Agent. Si una CA subordinada también emite la autenticación True SSO, debe instalar toda la cadena de certificados de CA raíz y subordinadas. Para completar la configuración de autenticación, debe editar algunos archivos de configuración.

Utilice el siguiente procedimiento para habilitar True SSO en una máquina virtual Ubuntu.

Requisitos previos

Procedimiento

  1. En la máquina virtual Ubuntu, instale el paquete de soporte de pkcs11.
    sudo apt install libpam-pkcs11
  2. Instale el paquete para libnss3-tools.
    sudo apt install libnss3-tools
  3. Instale el certificado de CA raíz o la cadena de certificados.
    1. Busque el certificado de CA raíz o la cadena de certificados que descargó y transfiéralos a un archivo PEM.
      openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
    2. Cree el directorio /etc/pki/nssdb para contener la base de datos del sistema.
      sudo mkdir -p /etc/pki/nssdb
    3. El comando certutil le permitirá instalar el certificado CA raíz o la cadena de certificados en la base de datos del sistema /etc/pki/nssdb.
      sudo certutil -A -d /etc/pki/nssdb -n "root CA cert" -t "CT,C,C" -i /tmp/certificate.pem
    4. Cree el directorio /etc/pam_pkcs11/cacerts y copie el certificado de CA raíz o la cadena de certificados allí.
      mkdir -p /etc/pam_pkcs11/cacerts
      sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
    5. Cree un vínculo hash para el certificado de CA raíz o la cadena de certificados. En el directorio /etc/pam_pkcs11/cacerts, ejecute el siguiente comando.
      pkcs11_make_hash_link
  4. Instale el paquete Horizon Agent con True SSO habilitado.
    sudo ./install_viewagent.sh -T yes
  5. Agregue el siguiente parámetro al archivo de configuración personalizada de Horizon Agent /etc/vmware/viewagent-custom.conf. Utilice el siguiente ejemplo, donde NOMBRE_NETBIOS_DEL_DOMINIO es el nombre de NetBIOS del dominio de su organización.
    NetbiosDomain=NETBIOS_NAME_OF_DOMAIN
  6. Edite el archivo de configuración /etc/pam_pkcs11/pam_pkcs11.conf.
    1. Si es necesario, cree el archivo de configuración /etc/pam_pkcs11/pam_pkcs11.conf. Busque el archivo de ejemplo en /usr/share/doc/libpam-pkcs11/examples, cópielo en el directorio /etc/pam_pkcs11 y cámbiele el nombre por pam_pkcs11.conf. Añada la información de su sistema al contenido del archivo según sea necesario.
    2. Modifique el archivo de configuración /etc/pam_pkcs11/pam_pkcs11.conf para que incluya contenido similar al siguiente ejemplo.
      Nota: Para Ubuntu 20.04, anexe ms al final de la línea use_mappers.
      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, append "ms" at end of use_mappers
  7. Modifique los parámetros auth en el archivo de configuración PAM.
    1. Abra el archivo de configuración PAM en /etc/pam.d/gdm-vmwcred.
    2. Edite el archivo de configuración PAM, tal y como se muestra en el ejemplo siguiente.
      auth requisite pam_vmw_cred.so
      auth sufficient pam_pkcs11.so try_first_pass
      
  8. Modifique el archivo de configuración /etc/krb5.conf estableciendo el modo igual a 644.
    Nota: Si no modifica /etc/krb5.conf según lo especificado, es posible que la función True SSO no funcione.
  9. Reinicie la máquina virtual y vuelva a iniciar sesión.