Programmer une nouvelle clé Yubikey 5C nano
Posté le 2026-10-24 15:04:49 +02:00
Programmer une nouvelle clé Yubikey 5C nano
1. Vérifier la clé et l’interface OTP
1
2
3
ykman list
ykman otp info
ykman config usb --enable OTP # seulement si OTP est désactivé
ykman otp info indique si les slots sont déjà programmés. La suite écrase leur contenu.
2. Slot 1 : HMAC-SHA1 challenge-response, secret connu, touch
1
ykman otp chalresp --touch 1 --prompt
Collez le secret quand il est demandé. Il faut 40 caractères hexadécimaux (20 octets), et --prompt évite de le laisser dans l’historique du shell. Ajoutez --force pour ne pas avoir la confirmation d’écrasement.
Version non interactive, à éviter si possible (préfixez la commande d’une espace pour l’historique) :
1
ykman otp chalresp --touch --force 1 0123456789abcdef0123456789abcdef01234567
--touch impose une pression pour chaque réponse. L’OTP n’a pas de code PIN, donc rien à configurer. Évitez simplement ykman otp settings --new-access-code, qui protégerait les slots par un code d’accès.
3. Slot 2 : mot de passe statique
Votre propre mot de passe, avec la disposition AZERTY :
1
ykman otp static --keyboard-layout FR 2 --prompt
Ou un mot de passe aléatoire généré par la clé :
1
ykman otp static --keyboard-layout FR --generate --length 38 2
Le maximum est de 38 caractères. Avec --generate, le mot de passe est affiché une seule fois, notez-le. Sans --keyboard-layout, ykman utilise MODHEX (alphabet limité), et la disposition FR évite les caractères mal tapés. Sur la clé, le slot 1 se déclenche par un appui court et le slot 2 par un appui long (environ 3 s). Le challenge-response ne tape rien, donc aucun risque de mot de passe parasite sur un appui court.
Pour un mot de passe connu, il suffit alors de saisir votre mot de passe plutôt que d’en générer un :
1
ykman otp static --keyboard-layout FR 2 --prompt
--prompt demande le mot de passe sans l’afficher et sans le laisser dans l’historique du shell. Si vous le passez en argument, préfixez la commande d’une espace :
1
ykman otp static --keyboard-layout FR 2 'MonMotDePasse'
- Longueur : 38 caractères maximum.
- Disposition :
FRconvient à un clavier AZERTY. Si vous tapez le mot de passe sur un clavier QWERTY ou sur un système en disposition US, utilisez--keyboard-layout US. Un caractère absent de la disposition choisie fait échouer la commande. - Touche Entrée : ykman ajoute un retour chariot à la fin. Ajoutez
--no-entersi vous ne voulez pas qu’il valide automatiquement la saisie. - Déclenchement : appui long (environ 3 s) sur la clé pour le slot 2.
4. Procédure complète
- slot 1 challenge response avec code hex connu
- slot 2 Mot de passe statique connu
1
2
3
ykman otp chalresp --touch 1 'SECRET_HEX'
yykman otp static --enter --keyboard-layout FR 2 'MonMotDePasse'
ykman otp info
5. Contrôle
1
2
ykman otp info
ykman otp calculate 1 0123456789abcdef # touch requis
Comparez la réponse avec celle d’une de vos autres clés pour le même défi. C’est ce que fait déjà votre script check-hmac.sh avec le slot en paramètre.
Le test du mot de passe se fait dans un éditeur de texte : un appui long sur la clé doit taper le mot de passe.