Pour configurer la redirection de carte à puce sur une machine virtuelle (VM) Ubuntu/Debian, installez les bibliothèques dont dépend la fonctionnalité et le certificat d'autorité de certification (CA) racine pour prendre en charge l'authentification approuvée des cartes à puce. En outre, vous devez modifier certains fichiers de configuration pour terminer la configuration de l'authentification.
Certains exemples de la procédure utilisent des valeurs d'espace réservé pour représenter des entités dans votre configuration réseau, telles que le nom DNS de votre domaine AD. Remplacez les valeurs d'espace réservé par des informations spécifiques à votre configuration, comme décrit dans le tableau suivant.
Valeur d'espace réservé |
Description |
dns_IP_ADDRESS |
Adresse IP de votre serveur de nom DNS |
mydomain.com |
Nom DNS de votre domaine AD |
MYDOMAIN.COM |
Nom DNS de votre domaine AD en majuscules |
MYDOMAIN |
Nom DNS du groupe de travail ou domaine NT qui inclut votre serveur Samba, en majuscules |
ads-hostname |
Nom d'hôte de votre serveur AD |
ads-hostname.mydomain.com |
Nom de domaine complet (FQDN) de votre serveur AD |
mytimeserver.mycompany.com |
Nom DNS de votre serveur de temps NTP |
AdminUser |
Nom d'utilisateur de l'administrateur de VM |
Procédure
- Installez les bibliothèques requises sur la VM Ubuntu/Debian.
sudo apt-get install -y pcscd pcsc-tools pkg-config libpam-pkcs11 opensc libengine-pkcs11-openssl libnss3-tools
- Installez un certificat d'autorité de certification racine.
- Téléchargez un certificat d'autorité de certification racine et enregistrez-le dans /tmp/certificate.cer sur la VM Ubuntu. Reportez-vous à Exportation du certificat d'autorité de certification de racine.
- Localisez le certificat d'autorité de certification racine que vous avez téléchargé et transférez-le vers un fichier .pem.
sudo openssl x509 -inform der -in /tmp/certificate.cer -out /tmp/certificate.pem
- Copiez le certificat d'autorité de certification racine dans le répertoire /etc/pam_pkcs11/cacerts.
sudo cp /tmp/certificate.pem /etc/pam_pkcs11/cacerts
- Créez un fichier de hachage pkcs11.
sudo chmod a+r certificate.pem
sudo pkcs11_make_hash_link
- Configurez la bibliothèque pam_pkcs11.
- Créez un fichier pam_pkcs11.conf à l'aide de l'exemple de contenu par défaut.
- (Ubuntu 20.04, Debian 10.x) Exécutez la séquence de commandes suivante.
sudo mkdir /etc/pam_pkcs11
sudo zcat /usr/share/doc/libpam-pkcs11/examples/pam_pkcs11.conf.example.gz | tee /etc/pam_pkcs11/pam_pkcs11.conf
- (Ubuntu 20.04.1 et versions ultérieures, Ubuntu 22.04, Debian 11.x/12.x) Exécutez la séquence de commandes suivante.
sudo mkdir /etc/pam_pkcs11
sudo cat /usr/share/doc/libpam-pkcs11/examples/pam_pkcs11.conf.example | tee /etc/pam_pkcs11/pam_pkcs11.conf
- Modifiez le fichier /etc/pam_pkcs11/pam_pkcs11.conf, comme indiqué dans l'exemple suivant.
use_pkcs11_module = opensc;
...
pkcs11_module opensc {
module = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so;
description = "OpenSC PKCS#11 module";
slot_num = 0;
ca_dir = /etc/pam_pkcs11/cacerts;
crl_dir = /etc/pam_pkcs11/crls;
support_threads = false;
cert_policy = ca,signature;
token_type = "Smart card";
}
...
use_mappers = cn, null;
...
mapper cn {
debug = false;
module = internal;
ignorecase = true;
mapfile = file:///etc/pam_pkcs11/cn_map;
}
- Modifiez le fichier /etc/pam_pkcs11/cn_map de sorte qu'il comprenne la ligne suivante.
- Modifiez le fichier de configuration /etc/pam.d/gdm-password. Placez la ligne d'autorisation pam_pkcs11.so avant la ligne common-auth, comme indiqué dans l'exemple suivant.
#%PAM-1.0
auth requisite pam_nologin.so
auth required pam_succeed_if.so user != root quiet_success
auth sufficient pam_pkcs11.so
@include common-auth
auth optional pam_gnome_keyring.so
@include common-account
- Pour vérifier le matériel de la carte à puce et les certificats installés sur la carte à puce, exécutez les commandes suivantes.
sudo pcsc_scan
sudo pkcs11_listcerts
sudo pkcs11_inspect
- Pour prendre en charge la fonctionnalité SSO par carte à puce et l'écran d'accueil VMware lorsque SSO est désactivé, configurez le fichier /etc/vmware/viewagent-greeter.conf. Reportez-vous à la section Modifier les fichiers de configuration sur un poste de travail Linux.
- Installez le module Horizon Agent, avec la redirection de carte à puce activée.
sudo ./install_viewagent.sh -m yes
Note : Si vous obtenez un message d'erreur vous demandant d'installer la bibliothèque PC/SC Lite par défaut, désinstallez la bibliothèque PC/SC Lite personnalisée actuellement présente sur la machine et installez la bibliothèque PC/SC Lite par défaut à l'aide de la commande suivante.
sudo apt-get install --reinstall pcscd libpcsclite1
Vous pouvez ensuite exécuter le programme d'installation d'Horizon Agent.
- Si vous utilisez une bibliothèque PC/SC Lite personnalisée, configurez les options pcscd.maxReaderContext et pcscd.readBody dans le fichier /etc/vmware/config.
- Redémarrez la VM Ubuntu et reconnectez-vous.