Table des matières

, , , , , , ,

Comment s'authentifier sur Ubuntu 14.04 (Trusty) à partir d'une clé USB ou d'un téléphone

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 14.04.

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.

Pré-requis

Installation des paquets PAM

$ sudo apt-get install pamusb-tools libpam-usb

Déclarer votre périphérique (clé USB, téléphone) auprès de PAM

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
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]

Déclarer un utilisateur auprès de PAM

$ sudo pamusb-conf --add-user votre_login
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.

Tester votre configuration

pamusb-check votre_login

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 votre_login

et oh magie, vous n'avez plus votre mot de passe à insérer :-)

(Dé)verrouiller automatiquent votre écran de veille lorsque vous (dé)branchez votre téléphone

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 admin 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.

En effet, sous la 14.04, la commande “gnome-screensaver-command -d” ne fonctionne pas par défaut, il faut configurer l'écran de veille grâce à :

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”.

Pour aller plus loin

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

Attention cette manipulation peut se révéler dangereuse. En cas de mauvaise manipulation, il faudra redémarrer avec sous un live-CD pour remettre le paramètre initial.

Voir aussi