Gauth et oathtool : Authenticator (2FA) sur GNU/Linux

Bonjour à tous,

Comme beaucoup d’entre-vous, j’étais depuis un petit moment à la recherche d’un petit programme sur GNU/Linux comme Google Authenticator sur Android ou alors WinAuth sur Windows. Après plusieurs recherches infructueuse et quelques jetées de serviettes humides de mes larmes pleines de désespoir… bon ok vous voyez le dessin ??? J’ai finalement trouvé 2 alternatives tournant sur GNU/Linux.

Première alternative : Gauth (version graphique)

Ce petit logiciel s’installe en tant qu’extension sur votre navigateur Firefox ou Chrome.

Vous pouvez trouver ce petit programme Open Source à l’adresse suivante : https://5apps.com/gbraad/gauth

Il est aussi possible de télécharger directement les fichiers sources sur GitHub à l’adresse suivante: https://github.com/gbraad/gauth

Voici à quoi ressemble l’application dans votre navigateur:

gauth

Je profite pour remercie le programmeur Gerard Braad pour son travail et surtout pour son partage.

Deuxième alternative : oathtool (ma version préférée)

Cette petite pépite permet de générer des codes HOTP et TOTP depuis votre terminal préféré 🙂

Vous pourrez ainsi générer vos codes de double authentification pour vos comptes Google, Microsoft, Dropbox, Facebook et même Battlenet !

Voici comment mettre en place un petit script bash pour générer vos codes à tout moment :

  1. Installez le programme via la commande : apt-get install oathtool
  2. Créez un fichier bash/shell, par exemple, authenticator.sh à l’endroit que vous désirez sur votre système. Dans cet exemple, le fichier sera sous :
    /home/username/scripts/authenticator.sh
  3. Ajoutez-y le code suivant :
#!/bin/bash
 OPTIONS="Google Microsoft Dropbox Battlenet Facebook Quit"
 select opt in $OPTIONS; do
 if [ "$opt" = "Google" ]; then
 oathtool --base32 --totp "YOUR SECRET KEY" -d 6
 elif [ "$opt" = "Microsoft" ]; then
 oathtool --base32 --totp "YOUR SECRET KEY" -d 6
 elif [ "$opt" = "Dropbox" ]; then
 oathtool --base32 --totp "YOUR SECRET KEY" -d 6
 elif [ "$opt" = "Battlenet" ]; then
 oathtool --base32 --totp "YOUR SECRET KEY" -d 8
 elif [ "$opt" = "Facebook" ]; then
 oathtool --base32 --totp "YOUR SECRET KEY" -d 6
 elif [ "$opt" = "Quit" ]; then
 exit
 else
 clear
 echo "Choose an available option."
 fi
done

En bleu : le nom de vos comptes. Vous pouvez mettre ce que vous voulez.
En rouge : vos clés secrètes obtenues via la configuration de la double authentification auprès des services utilisés ainsi que le nombre de chiffres (6 ou 8 en général) à afficher. 8 pour Battlenet dans cet exemple.

4) Changez les permissions de votre fichier afin qu’il soit exécutable avec la commande suivante: chmod +x authenticator.sh

5) Si vous désirez accéder à votre script en tapant uniquement « authenticator.sh », il vous suffit d’ajouter le chemin d’accès à votre variable PATH dans votre fichier .bashrc qui se trouve dans /home/username/.bashrc

Vous devriez avoir quelque chose du genre:
export PATH=/usr/local/bin:/usr/bin:/bin:/home/username/scripts

Le script peut maintenant être lancé en tapant son nom donc : authenticator.sh depuis votre terminal.
Sinon vous pouvez taper le chemin complet : /home/username/scripts/authenticator.sh
ou une 3ème possibilité depuis le répertoire /home/username/scripts vous pouvez taper : ./authenticator.sh ou sh authenticator.sh

Voici à quoi ressemble votre petit script. Le script vous demande de presser une touche de 1 à 5 pour générer un code ou alors 6 pour quitter l’application.

oathtool_authenticator

IMPORTANT : comme le fichier contient les clés secrètes d’accès à vos codes de double authentification, il faut donc limiter l’accès en lecture à ce fichier aux personnes non-autorisées.

J’espère que vous avez apprécié cet article.

La connaissance est le fruit de tous alors partagez !
Didier

 

About

View all posts by

2 thoughts on “Gauth et oathtool : Authenticator (2FA) sur GNU/Linux

    1. Hello Seb35. Merci pour ton commentaire. Ça fait plaisir de savoir que mon article a pu t’aider. Merci aussi pour le wiki et bonne route à toi sur le net. Didier

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *