đYubico - YubiKey 5 NFC
YubiKey 5 Series Une gamme multiprotocole (FIDO2/WebAuthn, U2F, Smart Card, OpenPGP, OTP) qui est le premier choix des entreprises et qui prend en charge la fonction sans mot de passe (autres liens Yubikey et KeePassXC et KeePass et Yubikey multiplateforme, article MISC 103)
Les clés Yubico
Security Key NFC
ProtĂ©gez vos comptes en ligne des pirates informatiques grĂące Ă la clĂ© de sĂ©curitĂ© de Yubico. Digne de confiance et facile Ă utiliser, câest la clĂ© dâun monde numĂ©rique plus sĂ»r.
- Pratique et portable : La Security Key NFC sâadapte facilement Ă votre trousseau de clĂ©s, ce qui la rend pratique Ă transporter et Ă utiliser partout oĂč vous allez, garantissant un accĂšs sĂ©curisĂ© Ă vos comptes Ă tout moment. Il vous suffit de la brancher sur le port USB-A ou dâappuyer sur votre appareil compatible NFC pour vous authentifier.
- CompatibilitĂ© polyvalente : Pris en charge par les comptes Google et Microsoft, les gestionnaires de mots de passe et des centaines dâautres services populaires. Il fonctionne avec Windows, macOS, ChromeOS et Linux. La rubrique « Works With YubiKey » rĂ©pertorie les services compatibles.
- Protocoles FIDO uniquement : Security Key Series est la clĂ© de sĂ©curitĂ© la plus abordable prenant en charge uniquement les protocoles dâauthentification FIDO2/WebAuthn (hardware bound passkey) et FIDO U2F. Pour une meilleure compatibilitĂ©, passez Ă la YubiKey 5 Series.
- Durable et fiable : Conception de haute qualitĂ© et rĂ©sistance Ă la falsification, Ă lâeau et Ă lâĂ©crasement. Aucune pile ni connectivitĂ© rĂ©seau nâest requise, ce qui permet une authentification fiable sans interruption de service. FabriquĂ© en toute sĂ©curitĂ© aux Ătats-Unis et en SuĂšde.
YubiKey 5C NFC
ProtĂ©gez vos comptes en ligne des pirates informatiques grĂące Ă la YubiKey. Digne de confiance et facile Ă utiliser, câest la clĂ© dâun monde numĂ©rique plus sĂ»r.
- Pratique et portable : La YubiKey 5C NFC sâadapte facilement Ă votre trousseau de clĂ©s, ce qui la rend pratique Ă transporter et Ă utiliser partout oĂč vous allez, garantissant un accĂšs sĂ©curisĂ© Ă vos comptes Ă tout moment. Il suffit de la brancher via lâUSB-C ou de tapoter sur votre appareil compatible NFC pour vous authentifier.
- CompatibilitĂ© polyvalente : Pris en charge par les comptes Google et Microsoft, les gestionnaires de mots de passe et des centaines dâautres services populaires. Il fonctionne avec Windows, macOS, ChromeOS et Linux. La rubrique « Works With YubiKey » (fonctionne avec YubiKey) rĂ©pertorie les services compatibles.
- Multi-protocole : YubiKey 5 Series est la clĂ© de sĂ©curitĂ© la plus polyvalente prenant en charge plusieurs protocoles dâauthentification, notamment FIDO2/WebAuthn (hardware bound passkey), FIDO U2F, Yubico OTP, OATH-TOTP, OATH-HOTP, carte Ă puce (PIV) et OpenPGP.
- Durable et fiable : Conception de haute qualitĂ© et rĂ©sistance Ă la falsification, Ă lâeau et Ă lâĂ©crasement. Aucune pile ni connectivitĂ© rĂ©seau nâest nĂ©cessaire, ce qui permet une authentification fiable sans interruption de service. FabriquĂ© en toute sĂ©curitĂ© aux Ătats-Unis et en SuĂšde.
Yubico Authenticator App - Compatible avec lâapplication dâauthentification la plus sĂ»re pour les mobiles et les ordinateurs de bureau.
La clĂ© YubiKey 5 NFC va ĂȘtre utilisĂ©e pour dĂ©verrouiller le chiffrement du disque au dĂ©marrage du PC, sur Keepass comme clĂ© en plus du mot de passe et en OTP pour une API
Outils
Sur archlinux, installer lâoutil de personnalisation YubiKey Personalization Tool
1
2
3
4
# cli
yay -S yubikey-personalization
# graphique
yay -S yubikey-personalization-gui
DĂ©verrouillage au boot dâun disque entiĂšrement chiffrĂ© LUKS2
On peut utiliser une clé avec le protocole FIDO2 pour déverrouiller un disque chiffré sans saisie de mot de passe
Prérequis: SystÚme linux avec systemd-boot et dracut sur un disque entiÚrement chiffré
Par défaut le disque chiffré est déverrouillé aprÚs la saisie de la phrase mot de passe
- Slot 0 pour le dĂ©verrouillage du volume par saisie dâune phrase mot de passe.
- Slot 1 pour le déverrouillage par une clé FIDO2 avec un appui sur une touche.
Installer librairie libfido2 pour la prise en charge des clés Yubico
1
sudo pacman -S libfido2
Enroler clé USB YubiKey 5 NFC
Vérifier que la YubiKey est insérée dans un port USB
Lister et enroler la yubikey
1
systemd-cryptenroll --fido2-device=list
1
2
3
4
5
6
7
8
PATH MANUFACTURER PRODUCT COMPATIBLE RK CLIENTPIN UP UV ALWAYSUV
/dev/hidraw2 Yubico YubiKey OTP+FIDO+CCID â â â â â â
Legend: RK â Resident key
CLIENTPIN â PIN request
UP â User presence
UV â User verification
AlwaysUV â User verification Required
Enroler la clé pour le déverrouillage du disque chiffré nvme0n1p2
1
2
3
sudo systemd-cryptenroll --fido2-device=auto <partition chiffrée>
# partition chiffrée type /dev/sda2 , /dev/nvme0n1p2, ...
sudo systemd-cryptenroll --fido2-device=auto /dev/sda2
Saisir les informations demandées
1
2
3
4
5
6
7
đ Please enter current passphrase for disk /dev/nvme0n1p2: *********************
Requested to lock with PIN, but FIDO2 device /dev/hidraw5 does not support it, disabling.
Initializing FIDO2 credential on security token.
đ (Hint: This might require confirmation of user presence on security token.)
Generating secret key on FIDO2 security token.
đ In order to allow secret key generation, please confirm presence on security token.
New FIDO2 token enrolled as key slot 1.
Le Y de la clĂ© se met Ă clignoter , il suffit de poser son doigt sur lâemplacement du Y pour le dĂ©verrouillage
Enroler une clé avec un code PIN
1
sudo systemd-cryptenroll --fido2-device=auto /dev/sda2
Saisir les informations demandées
1
2
3
4
5
6
7
8
9
đ Please enter current passphrase for disk /dev/sda2: âąâąâąâąâąâąâąâąâąâąâąâąâąâąâąâąâąâąâąâąâą
Initializing FIDO2 credential on security token.
đ (Hint: This might require confirmation of user presence on security token.)
đ Veuillez entrer le code PIN de la clef de sĂ©curitĂ©: âąâąâąâąâąâąâąâą
(la clé se met à clignoter, valider en touchant la clé sur la partie métallique)
Generating secret key on FIDO2 security token.
đ In order to allow secret key generation, please confirm presence on security token.
(confirmer en touchant la clé sur la partie métallique)
New FIDO2 token enrolled as key slot 4.
Liste des slots: sudo systemd-cryptenroll /dev/sda2
1
2
3
4
5
6
SLOT TYPE
0 password
1 fido2
2 fido2
3 fido2
4 fido2
Supprimer un slot
1
sudo systemd-cryptenroll --wipe-slot=4 /dev/sda2
Prise en charge YubiKey
Configurer /etc/crypttab pour la prise en charge des clés
1
sudo nano /etc/crypttab
1
2
3
# <name> <device> <password> <options>
#cryptlvm UUID=2c8e7bb4-9286-47e9-8823-12b79bf2810c /crypto_keyfile.bin luks
cryptlvm UUID=2c8e7bb4-9286-47e9-8823-12b79bf2810c - fido2-device=auto
Sauvegarder et quitter.
Réinitialiser
1
sudo reinstall-kernels
Redémarrer la machine
YubiKey Manager CLI (ykman)
Sur Arch Linux, le plus simple est dâutiliser ykman (YubiKey Manager) pour configurer la YubiKey en ligne de commande, et dâutiliser lâoutil ykpersonalize / ykpers (YubiKey Personalization) uniquement si tu veux âpersonaliserâ (rĂ©glage bas niveau/clĂ© AES) via la bibliothĂšque/outillage yubikey-personalization.
Sur Linux, ykman (YubiKey Manager CLI) sâinstalle soit via le gestionnaire de paquets de ta distribution, soit via pip, soit via Snap. Voici les mĂ©thodes les plus courantes, selon ta distro.
Prérequis
Sur Arch Linux, PC/SC repose sur le paquet pcsclite (et souvent ccid pour les lecteurs USB génériques), avec le service systemd pcscd.service.
Installation de PC/SC sur Arch
1
sudo pacman -S pcsclite ccid
pcsclite: implĂ©mentation de lâAPI PC/SC (bibliothĂšque + daemon).ccid: pilote gĂ©nĂ©rique pour les lecteurs de cartes Ă puce USB (inclut la plupart des YubiKey en mode smartcard).
Activer et démarrer le service
1
sudo systemctl enable --now pcscd.service
Vérifier
1
systemctl status pcscd.service
Installer yubikey-manager
Debian Ubuntu (et dérivés)
Tu as deux options :
1. Depuis les dépÎts officiels (version parfois ancienne)
1
2
sudo apt update
sudo apt install yubikey-manager
2. Depuis le PPA Yubico (version plus récente, recommandé)
1
2
3
sudo add-apt-repository ppa:yubico/stable
sudo apt update
sudo apt install yubikey-manager
Ensuite, tu peux vérifier :
1
ykman --version
ArchLinux EndeavourOS
1
sudo pacman -S yubikey-manager
Alpine Linux
1
sudo apk add yubikey-manager
Utiliser ykman
Ykman a une interface claire en commandes :
- Informations générales :
1
ykman info
- Lister les YubiKeys connectées :
1
ykman list
- Voir lâaide dâun domaine (ex: OTP, OATH, PIV, FIDO, OpenPGP) :
1 2 3 4
ykman otp --help ykman oath --help ykman piv --help ykman fido --help
Diagnostique complet
1
ykman --diagnose
YubiKey 5C (challenge-response)
Pour KeePassXC + YubiKey 5C en challenge-response (HMAC-SHA1), le plus direct cÎté ligne de commande sur Arch est :
Préparer / vérifier que la clé est détectée
1
2
3
ykman list
ykman info
ykman otp info
Avec les outils PC/SC :
1
pcsc_scan
Tu devrais voir ta YubiKey apparaĂźtre quand tu lâinsĂšres.
Programmer le slot en challenge-response
Slot 1 ou 2
générer un secret aléatoire (et le copier pour ton backup)
1
2
# slot 1 2 3
ykman otp chalresp --touch --generate <slot>
Lâoutil va afficher âUsing a randomly generated key (hex): âŠâ : note/copie exactement cette valeur (câest le secret et KeePassXC en dĂ©pend).
utiliser un secret existant (celui crĂ©er Ă lâĂ©tape prĂ©cĂ©dente par exemple)
1
ykman otp chalresp --touch <slot> <SECRET_HEX>
Reprogrammer les autres clĂ©s avec le mĂȘme secret
Une fois que tu as le secret HEX Ă copier, tu reprogrammes chaque autre clĂ© (dans le mĂȘme slot que celui utilisĂ© sur la clĂ© qui fonctionne).
La forme typique (Ă adapter selon --help chez toi) est :
- choisir le slot (ex. 2)
- fournir le secret HEX
- éventuellement imposer le mode touch
Pour forcer le slot 1 (challenge-response) sur tes autres YubiKeys, Ă©crire le mĂȘme secret (hex) dans slot 1 sur chaque clĂ©.
La commande (ykman) a cette forme :
1
sudo ykman otp chalresp <slot> <SECRET_HEX>
Exiger un contact pour générer la réponse :
1
sudo ykman otp chalresp --touch 1 <SECRET_HEX>
Forcer le âtouchâ cĂŽtĂ© challenge-response (recommandĂ© pour Ă©viter des unlocks automatiques), garde --touch.
Comment effacer un slot
1) Lister lâĂ©tat (pour repĂ©rer quel slot existe) :
1
ykman otp info
2) Effacer la configuration dâun slot (ex. slot 1) :
1
sudo ykman otp delete 1
Pour le slot 2 :
1
sudo ykman otp delete 2
3) Vérifier :
1
ykman otp info
Définir le PIN sur YubiKey
Infos sur la clé
1
ykman info
Exemple de réponse
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Device type: YubiKey 5 NFC
Serial number: 1234567
Firmware version: 5.4.3
Form factor: Keychain (USB-A)
Enabled USB interfaces: OTP, FIDO, CCID
NFC transport is enabled
Applications USB NFC
Yubico OTP Enabled Enabled
FIDO U2F Enabled Enabled
FIDO2 Enabled Enabled
OATH Enabled Enabled
PIV Enabled Enabled
OpenPGP Enabled Enabled
YubiHSM Auth Enabled Enabled
CaractÚres alphanumériques acceptés, 6 caractÚres au minimun
- brancher une YubiKey Ă la fois
- et suivre lâassistant : comme aucun PIN nâexiste, la âchange-pinâ sert Ă le dĂ©finir (selon version/firmware).
Commande typique :
1
ykman fido access change-pin
A la fin message FIDO PIN updated.
Pour vérifier le code PIN
1
ykman fido access verify-pin
Ajout dâune clĂ© en plus du fichier pour accĂ©der Ă Keepass
Configuration express KeePassXC :
- ouvrir la base
- Database â Database Security
- Challenge-Response, choisir la YubiKey et le slot
- vérifier/ajouter ce moyen de déverrouillage puis tester en verrouillant et rouvrant
On utilise le mode Challenge-Response HMAC-SHA1
Installer lâoutil Yubikey Personalization Tool : yay -S yubikey-personalization
IMPORTANT: La base de données
yannick.kbdxnâa pas de mot de passe mais elle est dĂ©verrouillable UNIQUEMENT si 2 conditions sont rĂ©unies, (1) fichier nommĂ©keypassxc_file, (2) une clĂ© matĂ©rielleYubikeys "Challenge Response mode HMAC-SHA1" (Slot 1)
Configurer KeePassXC avec Yubikey
Instructions pour configurer KeePassXC avec votre Yubikey.

KeepassXC linux
Lancer lâapplication bureau KeePassXC puis accĂ©der Ă Base de donnĂ©es â SĂ©curitĂ© de la base de donnĂ©es


La clĂ© yubikey est insĂ©rĂ©e pour ĂȘtre reconnue lors de lâouverture de la base de donnĂ©es keepass

Keepass2Android
Pour faire une copie dâĂ©cran dans lâapplication keepass2android, il faut modifier un paramĂštre:
Aller dans paramĂštres â> Appli â> Affichage et dĂ©cocher ProtĂ©ger affichage base de donnĂ©es

Sous Android, lâapplication Keepass2Android supporte le mode challenge-response, moyennant lâinstallation de lâapplication ykDroid (installĂ©e depuis F-Droid), un pilote supportant ce mode.
Ouvrir la base de données keepass
- SĂ©lectionner le type de la ClĂ© maĂźtre: Mot de passe + DĂ©fi rĂ©ponse pour KeepassâŠ

- Saisir le mot de passe et cliquer sur DEVERROUILLER
- Puis de présenter votre YubiKey contre le lecteur NFC de votre téléphone

Obtenir une clé API pour le développement de YubiKey
- Program and upload a new Yubico OTP credential
- Obtaining an API Key for YubiKey Development
- https://github.com/vrillusions/nginx-auth-yubico
Pour obtenir votre clĂ© API, lien https://upgrade.yubico.com/getapikey/ et saisissez une adresse e-mail valide ainsi que lâOTP Yubico de lâune de vos YubiKeys (cliquez dans le champ OTP YubiKey et touchez le capteur tactile capacitif de votre YubiKey), puis cliquez sur Get API key.
Un ID client et une clé secrÚte sont générés
Déverrouiller sa session Linux avec une Yubikey
Introduction
Ce guide explique comment sĂ©curiser une connexion locale Ă Linux en utilisant la fonction U2F sur les YubiKeys et les Security Keys. Cela ne fonctionne pas avec les connexions Ă distance via SSH ou dâautres mĂ©thodes.. Voir ici pour un article orientĂ© vers Red Hat et ses dĂ©rivĂ©s.
Installation des logiciels requis
Utiliser votre clé YubiKey U2F avec Linux.
1
2
sudo apt install libpam-u2f # debian ubuntu
sudo pacman -S pam-u2f # eos archlinux
Associer la (les) clé(s) U2F à votre compte
Ouvrir un terminal, insérer votre clé U2F
1
2
mkdir -p ~/.config/Yubico
pamu2fcfg > ~/.config/Yubico/u2f_keys
Il se peut que lâon vous demande un code PIN lors de lâexĂ©cution de pamu2fcfg. Si câest le cas, notez quâil sâagit du code PIN FIDO2 de votre YubiKey que vous devez saisir. Pour plus dâinformations, voir Comprendre les codes PIN YubiKey.
Lorsque votre appareil commence Ă clignoter, touchez le contact mĂ©tallique pour confirmer lâassociation.
Si vous disposez de dispositifs de sauvegarde, suivez les Ă©tapes ci-dessous pour les associer Ă votre compte.(Si vous ne disposez pas encore dâun appareil de sauvegarde, vous pouvez en ajouter un plus tard en suivant les Ă©tapes ci-dessous, tant que vous avez toujours accĂšs Ă votre compte.)
Attention : Il est fortement recommandĂ© de disposer dâun pĂ©riphĂ©rique de sauvegarde afin de ne pas ĂȘtre bloquĂ© sur votre ordinateur en cas de perte ou de panne de votre pĂ©riphĂ©rique.
Ouvrir un terminal.
1
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
Lorsque votre périphérique commence à clignoter, touchez le contact métallique pour confirmer l'association.
Si vous souhaitez ajouter une couche de sĂ©curitĂ© supplĂ©mentaire, vous pouvez modifier la sortie du fichier u2f_keys dans une zone du systĂšme dâexploitation oĂč vous aurez besoin de lâautorisation sudo pour Ă©diter le fichier ( par exemple, /etc ). AprĂšs avoir créé un rĂ©pertoire nommĂ© Yubico ( par exemple /etc/Yubico ). Vous pouvez alors dĂ©placer le fichier de ~/.config/Yubico vers /etc/Yubico en exĂ©cutant les commandes
1
2
sudo mv ~/.config/Yubico/u2f_keys /etc/Yubico/u2f_keys
sudo chown root: /etc/Yubico/u2f_keys && sudo chmod 600 /etc/Yubico/u2f_keys
Une fois le fichier u2f_keys dĂ©placĂ© vers un emplacement plus sĂ»r, le fichier PAM devra ĂȘtre modifiĂ© afin que le module u2f PAM puisse trouver le fichier u2f_keys. Pour ce faire, ajoutez authfile=/etc/Yubico/u2f_keys Ă la fin de la ligne du fichier pam_u2f.so dans le fichier nĂ©cessaire Ă lâauthentification. Celui-ci se trouve normalement dans le chemin /usr/lib/x86_64-linux-gnu/security/pam_u2f.so, mais il peut ĂȘtre diffĂ©rent selon la configuration.
Attention : Veuillez noter quâune fois que vous avez modifiĂ© le fichier
/etc/pam.d/sudopour exiger la YubiKey, si vous deviez perdre ou Ă©garer la YubiKey, vous ne pourrez pas modifier ou changer le fichier pour supprimer lâexigence de la YubiKey.
Attention : En activant ce processus, si les fichiers ne sont pas lisibles par les utilisateurs, vous risquez dâĂȘtre bloquĂ© sur votre systĂšme. La cause la plus frĂ©quente est le dossier /home/ cryptĂ© qui ne sera pas lisible par lâutilisateur root. Vous serez alors bloquĂ© une fois que vous aurez rĂ©initialisĂ© la machine.
Configuration du systĂšme pour lâutilisation des clĂ©s U2F
Test de configuration avec la commande Sudo
Cette section explique comment demander la clĂ© YubiKey en utilisant la commande sudo, qui devrait ĂȘtre utilisĂ©e comme test afin que vous ne vous bloquiez pas sur votre ordinateur.
1
sudo nano /etc/pam.d/sudo
Ajoutez la ligne ci-dessous aprĂšs la ligne "@include common-auth" ou en fin de fichier (archlinux).
1
auth required pam_u2f.so
Note :
Si vous avez déplacé le fichier u2f_keys vers /etc/Yubico/u2f_keys, vous devrez ajouter authfile et un chemin vers la configuration PAM, comme indiqué ci-dessous :
1
auth required pam_u2f.so authfile=/etc/Yubico/u2f_keys
Appuyez sur Ctrl+O puis sur Entrée pour enregistrer le fichier.
- Veillez Ă ne pas fermer la fenĂȘtre du terminal, sinon vous ne pourrez pas revenir sur les modifications.
- Retirez votre clĂ© de lâordinateur.
- Ouvrez un nouveau terminal.
- Dans le nouveau terminal, exécutez :
sudo echo test. Lorsque vous y ĂȘtes invitĂ©, entrez votre mot de passe et appuyez sur EntrĂ©e. - MĂȘme avec le bon mot de passe, l'authentification devrait Ă©chouer car la clĂ© U2F nâest pas branchĂ©e. Si lâauthentification rĂ©ussit sans la clĂ© U2F, cela indique que le module PAM U2F nâa pas Ă©tĂ© installĂ© ou quâil y a une erreur dans les modifications que vous avez apportĂ©es au fichier
/etc/pam.d/sudo. - Insérez votre clé.
- Ouvrez un nouveau terminal et exécutez à nouveau
sudo echo test. Lorsque vous y ĂȘtes invitĂ©, entrez votre mot de passe et appuyez sur EntrĂ©e. Ensuite, touchez le contact mĂ©tallique de votre clĂ© U2F lorsquâil commence Ă clignoter.
Félicitations ! Si le mot de passe a été accepté cette fois-ci, vous avez configuré le systÚme correctement et vous pouvez passer à la section suivante pour demander la clé U2F pour se connecter
Note : si vous ne voulez pas exiger que la clé U2F exécute la commande sudo, supprimez la ligne que vous avez ajoutée au fichier /etc/pam.d/sudo.
Ajouter dâautres commandes comme su pour exiger une connexion par YubiKey
Le module PAM diffĂ©rencie les diffĂ©rents Ă©tats de la commande sudo car ils ont des chemins dâauthentification diffĂ©rents. Cela signifie quâen fonction de votre version, vous devrez peut-ĂȘtre Ă©diter un autre fichier contenant les informations PAM pour les rendre valides. Dans Ubuntu 22.04, les commandes suivantes ont les fichiers suivants que vous pouvez Ă©diter pour ajouter lâauthentification :
1
2
3
4
5
6
Commande Fichier Emplacement
runuser /etc/pam.d/runuser
runuser -l /etc/pam.d/runuser-l
su /etc/pam.d/su
sudo -i /etc/pam.d/sudo-i
su -l /etc/pam.d/su-l
Ajoutez la ligne ci-dessous aprĂšs la ligne â@include common-authâ dans le fichier de la commande souhaitĂ©e
1
auth required pam_u2f.so
Si vous avez déplacé le fichier u2f_keys vers /etc/Yubico/u2f_keys comme mentionné dans la section 3, vous devrez ajouter authfile et un chemin vers la configuration PAM, comme indiqué ci-dessous :
1
auth required pam_u2f.so authfile=/etc/Yubico/u2f_keys
AprĂšs avoir sauvegardĂ© les modifications, vous devriez maintenant avoir besoin de la clĂ© YubiKey pour vous authentifier lors de lâutilisation de la commande sĂ©lectionnĂ©e.
Configurer le systĂšme pour quâil exige la YubiKey pour le terminal TTY
Ouvrez le terminal.
1
sudo nano /etc/pam.d/login
Ajoutez la ligne ci-dessous aprĂšs la ligne â@include common-authâ.
1
auth required pam_u2f.so
Note : Si vous avez déplacé le fichier u2f_keys vers /etc/Yubico/u2f_keys comme mentionné dans la section 3, vous devrez ajouter authfile et un chemin vers la configuration PAM, comme indiqué ci-dessous :
1
auth required pam_u2f.so authfile=/etc/Yubico/u2f_keys
Appuyez sur Ctrl+X puis sur Entrée pour enregistrer et fermer le fichier.
Vous avez rĂ©ussi ! Vous ne pourrez plus vous connecter Ă lâordinateur sans le dispositif U2F.
Lightdm
Ouvrez le terminal.
Si votre systÚme , exécutez
1
sudo nano /etc/pam.d/lightdm
Pour utiliser la clé U2F comme second facteur requis (2FA)
Ajoutez la ligne ci-dessous aprĂšs la ligne "@include common-auth"ou en fin de fichier (archlinux).
1
auth required pam_u2f.so
Note : Si vous avez déplacé le fichier u2f_keys vers /etc/Yubico/u2f_keys , vous devrez ajouter authfile et un chemin vers la configuration PAM, comme indiqué ci-dessous :
1
auth required pam_u2f.so authfile=/etc/Yubico/u2f_keys
Connexion sans mot de passe en utilisant uniquement la clé U2F
Ajoutez la ligne ci-dessous en premiĂšre ligne
1
auth sufficient pam_u2f.so
Note : Si vous avez déplacé le fichier u2f_keys vers /etc/Yubico/u2f_keys , vous devrez ajouter authfile et un chemin vers la configuration PAM, comme indiqué ci-dessous :
1
auth sufficient pam_u2f.so authfile=/etc/Yubico/u2f_keys
Pour afficher un message
1
auth sufficient pam_u2f.so authfile=/etc/Yubico/u2f_keys cue [cue_prompt=Toucher le "Y" de la clé]
Appuyez sur Ctrl+X puis sur Entrée pour enregistrer et fermer le fichier.
Verrouiller la session quand la Yubikey est débranchée
Le but de la manĆuvre est de verrouiller automatiquement la session lorsque la Yubikey est dĂ©branchĂ©e. De cette maniĂšre, dĂšs quâon part en pause-cafĂ©, il suffit de prendre sa Yubikey avec soit et plus aucun risque de devoir payer les croissants aux collĂšgues le lendemain đ„
On va commencer par créer le script de verrouillage /usr/local/bin/lockscreen.sh
1
2
3
4
5
6
7
8
9
10
11
#!/bin/sh
# Ce script verrouille la session si la clé yubikey est absente
sleep 2
if ! ykman info >> /dev/null 2>&1
then
# Clé FIDO absente
loginctl lock-sessions
fi
script exécutable
1
sudo chmod +x /usr/local/bin/lockscreen.sh
Ajouter une nouvelle rĂšgle UDEV dans le fichier /etc/udev/rules.d/20-yubikey.rules
1
ACTION=="remove", ENV{SUBSYSTEM}=="usb", ENV{PRODUCT}=="1050/407/526", RUN+="/usr/local/bin/lockscreen.sh"
Il faut déterminer la valeur du paramÚtre ENV{PRODUCT}
- Déconnecter la clé yubikey
- Dans un terminal exécuter :
udevadm monitor --environment --udev - Reconnecter la clé yubikey puis saisir
Ctrl Cpour stopper monitor
Dans la sortie, repérez un bloc de lignes contenant la ligne ID_VENDOR=Yubico et contenant les entrées ID_VENDOR_ID, ID_MODEL_ID et ID_REVISION. Concaténez ces 3 derniÚres valeurs, sans les 0 de gauche, séparés par des /
Par exemple, avec les lignes suivantes, vous obtiendrez 1050/407/543
1
2
3
4
5
6
7
ID_USB_MODEL_ENC=YubiKey\x20OTP+FIDO+CCID
ID_USB_MODEL_ID=0407
ID_USB_SERIAL=Yubico_YubiKey_OTP+FIDO+CCID
ID_USB_VENDOR=Yubico
ID_USB_VENDOR_ENC=Yubico
ID_USB_VENDOR_ID=1050
ID_USB_REVISION=0543
/etc/udev/rules.d/20-yubikey.rules
1
ACTION=="remove", ENV{SUBSYSTEM}=="usb", ENV{PRODUCT}=="1050/407/543", RUN+="/usr/local/bin/lockscreen.sh"
Recharger la configuration
1
sudo udevadm control --reload-rules
Dépannage
Activation du mode débogage
Si vous ne parvenez pas Ă vous connecter et que vous ne savez pas pourquoi, vous pouvez activer le dĂ©bogage sur le module Yubico PAM en suivant les Ă©tapes ci-dessous. Cela vous permettra de comprendre pourquoi le module nâautorise pas la connexion.
Ouvrez le terminal.
1
sudo touch /var/log/pam_u2f.log
Exécutez
1
sudo nano /etc/pam.d/gdm-password
Ajoutez "debug debug_file=/var/log/pam_u2f.log" Ă la fin de la ligne qui contient pam_u2f.so.
à chaque connexion ultérieure, le journal de débogage sera enregistré dans le fichier
/var/log/pam_u2f.log
Maintenance
đ RĂ©capitulatif du problĂšme
- Utilisation de 4 YubiKey 5C (dont une 5C Nano) pour déverrouiller le disque LUKS au boot via FIDO2.
- La 5C Nano (firmware 5.7.4, la plus récente) était bien reconnue par
systemd-cryptenrolldans le systÚme, mais au boot, LUKS demande le PIN FIDO2 puis échoue, redirection vers la saisie de la passphrase LUKS. - Les 3 autres clés fonctionnent parfaitement sans demander de PIN au boot.
đ Cause identifiĂ©e
La 5C Nano a été enrollée avec --fido2-with-client-pin=yes (PIN requis), alors que tes 3 autres clés ont été enrollées sans PIN (--fido2-with-client-pin=no).
systemd-cryptsetup dans lâinitramfs gĂšre mal la saisie du PIN FIDO2 au boot, donc la clĂ© Ă©choue silencieusement et LUKS demande la passphrase.
â Solution appliquĂ©e
1 Supprimé le slot 4 (celui de la 5C Nano) :
1
sudo systemd-cryptenroll --wipe-slot=4 /dev/sda2
2 Réenrollé la 5C Nano SANS PIN pour LUKS :
1
2
3
sudo systemd-cryptenroll --fido2-with-client-pin=no \
--fido2-device=auto \
/dev/sda2
3 La clé fonctionne maintenant au boot sans demander de PIN, juste en appuyant dessus (user presence).
đ Points importants
- Le PIN FIDO2 sur la YubiKey nâa pas Ă©tĂ© supprimĂ© : il reste actif pour KeepassXC et autres services.
- Une YubiKey peut avoir plusieurs credentials FIDO2 avec des configurations différentes :
- Une credential sans PIN pour LUKS,
- Une credential avec PIN pour KeepassXC, etc.
- pas besoin de modifier
/etc/crypttab
đ§Ș VĂ©rification finale
Pour tester :
- Débrancher toutes les clés sauf la 5C Nano.
- Rebooter.
- La clé devrait déverrouiller LUKS sans demander de PIN.



