Voici un courte description sur comment configurer Ubuntu et une clé USB (et par extension un téléphone vous donnant accès à un stockage USB) afin de pouvoir vous authentifier sur Ubuntu.
Vous pouvez utiliser ce fonctionnement pour plus de simplicité. Lorsque vous brancher votre téléphone à votre ordinateur il se connecte, lorsque vous le déconnectez l'écran de veille s'affiche et ce sans devoir saisir un mot de passe.
Il est aussi possible pour mettre en place une authentification forte, via les deux facteurs d'authentification (téléphone ET saisie d'un mot de passe). Ce second cas, plus risqué car il est possible bloquer sa connexion, ne sera pas traité dans ce tutoriel mais facilement extrapolable.
Il vous suffit, pour cela, d'installer le paquet libpam-usb.
Le paquet précédent ne se trouve malheureusement plus dans les dépôts officiels, il faut donc les télécharger manuellement, 3 paquets sont necéssaires. Téléchargez donc et installez pour les architectures 64 bits :
Pour les architectures 32 bits :
Ce mécanisme étant basé sur la détection automatique des périphériques de stockage USB, nous vous conseillons de laisser brancher que celui que vous souhaitez configurer. Dans le cas contraire, un choix vous sera proposé.
sudo pamusb-conf --add-device un_nom_a_votre_convenance
Pamusb-conf va lister les périphériques USB montés sur l'ordinateur, dans le cas où il n'y en a qu'un il vous le proposera d'office, il suffira donc de taper Y et entrée :
Please select the device you wish to add. * Using "Key File-CD Gadget (0123456789ABCDEF)" (only option) Which volume would you like to use for storing data ? * Using "/dev/sdb1 (UUID: C099-1AA8)" (only option) Name : un_nom_a_votre_convenance Vendor : KeyVendor Model : File-CD Gadget Serial : 0123456789ABCDEF UUID : C099-1AA8 Save to /etc/pamusb.conf ? [Y/n]
Dans le cas où il y en a plusieurs il les liste et leur attribue un numéro, à vous de choisir celui que vous voulez. Laissez le terminal ouvert. Il est préférable de n'avoir que la clé USB voulue de connectée pour éviter toute confusion au moment de cette manipulation.
sudo pamusb-conf --add-user nom_d_utilisateur
"nom_d_utilisateur" est à remplacer par le nom d'utilisateur de votre PC.
Which device would you like to use for authentication ? * Using "un_nom_a_votre_convenance" (only option) User : votre_login Device : un_nom_a_votre_convenance Save to /etc/pamusb.conf ? [Y/n] Y Done.
Nous allons simuler l'authentification d'un utilisateur pour voir si cela fonctionne, tapez dans le terminal :
pamusb-check nom_d_utilisateur
Si vous avez pour résultat :
* Pad checking failed ! * Access denied.
Faites un peu de ménage avec :
rm ~/.pamusb/*
Vous pouvez aussi débranchez puis rebranchez votre périphérique.
Lorsque c'est bon, vous pouvez insérer dans le terminal :
su nom_d_utilisateur
et oh magie, vous n'avez plus votre mot de passe à insérer
PAM permet de détecter la connexion de votre périphérique. Nous avons en profiter pour verrouiller l'écran de veille lorsque le téléphone est débrancher et le déverrouiller lorsqu'il est branché.
Editez avec les droits d'administration le fichier /etc/pamusb.conf et insérer les lignes :
<agent event="lock">gnome-screensaver-command -l</agent> <agent event="unlock">gnome-screensaver-command -d</agent>
entre les balises </device> (au singulier) et </user> (au singulier aussi) concernant votre périphérique et votre utilisateur. Les deux commandes précédentes ayant complété ce fichier automatiquement.
Puis pour détecter les (dé)branchements de votre périphérique il suffit d’exécuter (dans préférence dans un autre terminal afin d'avoir la trace) :
$ pamusb-agent
Il ne reste plus qu'à débrancher la clé USB / le téléphone pour s'apercevoir que, oh miracle, l'écran de veille se verrouille. Et le rebrancher pour s'apercevoir que oh miracle… il ne se passe rien.
gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true
Ne reste plus qu'à automatiser le démarrage de pamusb-agent, pour se faire aller dans "Applications au démarrage" et ajouter une entrée ayant pour commande "pamusb-agent".
A priori il est possible de réaliser la même action avec le Bluetooth.
La configuration par défaut vous permet de vous authentifier soit avec le mot de passe soit avec la clé USB. Pour mettre en place une authentification forte avec le mot de passe ET la clé, nous vous conseillons de lire cette documentation. SI ce n'est que le fichier à configurer sous Ubuntu 14.04 est : /etc/pam.d/common-auth