Se connecter avec PAM#

(Nitrokey Pro 2 - Linux)

Comment configurer la connexion#

Vous avez deux possibilités : pam_p11 ou Poldi.

La solution avec pam_p11 est plus difficile à réaliser et repose sur les certificats S/MIME. Veuillez consulter la documentation pour plus d’informations.

Poldi 0.4.1 fonctionne parfaitement avec Nitrokey pour l’authentification PAM avec des clés RSA (voir Dépannage pour des informations sur les clés ECC). Outre l’installation de poldi (par exemple sudo apt-get install libpam-poldi sur Ubuntu), les étapes suivantes sont nécessaires pour le faire fonctionner.

Il est nécessaire d’avoir déjà généré des clés sur la Nitrokey, car la clé d’authentification est utilisée par PAM.

  1. Tout d’abord, tu dois trouver le « Application ID » ; de ta Nitrokey. Tu peux utiliser gpg --card-status | grep Application pour trouver ce qui est à toi. On dirait D00600012401020000000000xxxxxxxx ou quelque chose de similaire.

  2. Maintenant vous devez ajouter une ligne à /etc/poldi/localdb/users qui contient les informations suivantes

    <YourApplicationID> ; <YourUsername> ;

    Cela pourrait ressembler à “D00600012401020000000000xxxxxxxx nitrokeyuser” ;. Maintenant videz la clé publique de la Nitrokey dans la base de données locale de Poldi :

sudo sh -c 'gpg-connect-agent "/datafile /etc/poldi/localdb/keys/<YourApplicationID>" "SCD READKEY --advanced OPENPGP.3" /bye'

Veuillez noter que vous devez insérer votre identifiant de demande dans la ligne ci-dessus avec celui de votre bâton !

Ensuite, vous devez configurer PAM. Ajoutez simplement « auth sufficient pam_poldi.so » ; aux fichiers de configuration de pam selon vos besoins :

  • /etc/pam.d/common-auth pour la connexion graphique des utilisateurs

  • /etc/pam.d/login pour la connexion à la console

  • /etc/pam.d/sudo pour l’authentification sudo

  • /etc/pam.d/gnome-screensaver pour se reconnecter depuis un écran verrouillé,

  • etc.

Note

Il est dangereux de jouer avec Pam, alors assurez-vous de disposer d’un moyen d’accéder à la machine si vous rompez complètement l’authentification. Rappelez-vous que le démarrage en mode de secours à partir de Grub nécessite un mot de passe root, alors gardez-le à portée de main ou un CD live qui peut lire vos systèmes de fichiers.

Vous trouverez ici des instructions complémentaires (en allemand, partiellement périmé).

Dépannage#

Si vous obtenez une erreur similaire à “ERR 100663414 Invalid ID <SCD>” ; vous devriez essayer plutôt

poldi-ctrl -k > <YourApplicationID>; sudo mv <YourApplicationID> /etc/poldi/localdb/keys

Veuillez noter que vous devez insérer votre identifiant de demande dans la ligne ci-dessus avec celui de votre bâton !

Clés ECC#

Malheureusement, poldi n’a pas encore de support pour les clés ECC. Mais il existe un patch pour les clés ECC utilisées avec Nitrokey Start. Ceci est déjà inclus dans la branche master du dépôt de développement de poldi et sera donc publié dans une version plus récente éventuellement. En attendant, la seule option est de construire poldi à partir des sources.