6.5. Configuration de l'accès SSH à l'aide de l'authentification par carte à puce
Les connexions SSH nécessitent une authentification. Vous pouvez utiliser un mot de passe ou un certificat. Cette section décrit la configuration nécessaire pour activer l'authentification à l'aide d'un certificat stocké sur une carte à puce
Pour plus de détails sur la configuration des cartes à puce avec authselect, voir Configuration des cartes à puce avec authselect.
Conditions préalables
- La carte à puce contient votre certificat et votre clé privée.
- La carte est insérée dans le lecteur et connectée à l'ordinateur.
- SSSD est installé et configuré.
- Votre nom d'utilisateur correspond au nom commun (CN) ou à l'ID utilisateur (UID) figurant dans le SUJET du certificat.
Le service
pcscdest en cours d'exécution sur votre machine locale.Pour plus de détails, voir Installation des outils de gestion et d'utilisation des cartes à puce.
Procédure
Créez un nouveau répertoire pour les clés SSH dans le répertoire personnel de l'utilisateur qui utilise l'authentification par carte à puce :
mkdir /home/example.user/.ssh
# mkdir /home/example.user/.sshCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exécutez la commande
ssh-keygen -Davec la bibliothèqueopenscpour récupérer la clé publique existante associée à la clé privée de la carte à puce, et ajoutez-la à la listeauthorized_keysdu répertoire des clés SSH de l'utilisateur pour activer l'accès SSH avec l'authentification par carte à puce.ssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so >> ~exemple.user/.ssh/authorized_keys
# ssh-keygen -D /usr/lib64/pkcs11/opensc-pkcs11.so >> ~exemple.user/.ssh/authorized_keysCopy to Clipboard Copied! Toggle word wrap Toggle overflow SSH nécessite la configuration des droits d'accès au répertoire
/.sshet au fichierauthorized_keys. Pour définir ou modifier les droits d'accès, entrez :chown -R example.user:example.user ~example.user/.ssh/ chmod 700 ~example.user/.ssh/ chmod 600 ~example.user/.ssh/authorized_keys
# chown -R example.user:example.user ~example.user/.ssh/ # chmod 700 ~example.user/.ssh/ # chmod 600 ~example.user/.ssh/authorized_keysCopy to Clipboard Copied! Toggle word wrap Toggle overflow En option, afficher les touches :
cat ~example.user/.ssh/authorized_keys
# cat ~example.user/.ssh/authorized_keysCopy to Clipboard Copied! Toggle word wrap Toggle overflow Le terminal affiche les touches.
Vérifiez que l'authentification par carte à puce est activée dans le fichier
/etc/sssd/sssd.conf:Dans la section
[pam], activez le module d'authentification par certificat pam :pam_cert_auth = TrueSi le fichier
sssd.confn'a pas encore été créé, vous pouvez créer la configuration fonctionnelle minimale en copiant le script suivant sur la ligne de commande :Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour utiliser les clés SSH, configurez l'authentification avec la commande
authselect:authselect select sssd with-smartcard --force
# authselect select sssd with-smartcard --forceCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Vous pouvez maintenant vérifier l'accès SSH à l'aide de la commande suivante :
ssh -I /usr/lib64/opensc-pkcs11.so -l example.user localhost hostname
# ssh -I /usr/lib64/opensc-pkcs11.so -l example.user localhost hostname
Si la configuration est réussie, vous êtes invité à saisir le code PIN de la carte à puce.
La configuration fonctionne désormais localement. Vous pouvez maintenant copier la clé publique et la distribuer dans les fichiers authorized_keys situés sur tous les serveurs sur lesquels vous souhaitez utiliser SSH.