The Longest Line

Le chemin le plus long...

Installer et utiliser un coffre so KISS pour vos mots de passe, avec git

Rédigé par propositionjoe / 04 décembre 2016 / 4 commentaires

gnupg.png

A la recherche d’une alternative au vieillissant keepass je me suis mis à la recherche d’un autre chose. J’ai creusé un peu Passbolt (mais trop lourd à mettre en place), ratticDB (apparemment plus soutenu), sysPass (mais je n’ai pas trouvé d’appli firefox), avant d’arrêter mon choix sur password-store.

Pourquoi ce dernier ? Pour le choix de répondre à une question simple : comment gérer mes mots de passe ? Avec une réponse simple, c’est l’objet de cet article.

 

Prérequis :

  • Côté client :

~$ sudo dnf install pass

~$ sudo dnf install git

  • Côté serveur :

L’idée est de disposer d’un utilitaire de mot de passe qui stocke les données dans un dossier chiffré avec une clé pgp, dossier qui est synchronisé par l’intermédiaire des commandes propre à git (que ce soit vers un serveur github, gitlab, ou encore gog). Dans ce tuto nous allons utiliser le serveur git packagé par yunohost, puisque l’auteur de ce papier dispose justement d’un tel service sur son serveur personnel.

Sinon un compte gitlab est largement envisageable.

De manière générale, n’oubliez pas de toujours privilégier l’auto-hébergement, les données « mise en ligne » seront chiffrées ; mais c’est tout de même plus propre de garder ses secrets à la maison.

Trêve de bavardage et au boulot ; « le cambouis c’est pas si salissant »

Création des clés :

  • Il faut commencer par créer deux clés :

Une clé GnuPG : pour chiffrer ses mots de passe
Une clé OpenSSH : pour automatiser l’identification sur son serveur git

  • Ces deux étapes se réalise dans l’interface graphique de seahorse, ou en ligne de commande :

~$ gpg –gen-key # je vous laisse choisir les options qui vous plaisent
~$ ssh-keygen -b 4096 # ne mettez pas de passphrase, ou alors il faudra la renseigner à chaque connexion avec votre git).

N’oubliez pas de communiquer la partie publique de votre ssh à votre serveur git

Installation de la boutique de mot de passe :

  • Commençons par donner notre clé de chiffrement de nos mots de passe au logiciel :

~$ pass init GPG-ID # correspond à l’identifiant de votre clé GnuPG

  • Puis créons notre premier mot de passe

~$ pass git init
~$ pass insert test

  • Ensuite dire à pass d’utiliser notre serveur git pour faire la synchro :

~$ pass git remote add origin gogs@adresseduserveur:user/nomdurepo.git # Je vous laisse créer le dépôt, pensez bien par contre à mettre l’adresse ssh

Vérifiez que tout fonction avec :
~$ pass git pull origin master(si le nom de votre branche git s'appelle comme ça)
~$ pass git push -u --all


 

  • Je vous laisse là creuser les autres possibilité du soft qui compte d’autres commandes, une appli desktop, mais aussi une appli android et firefox. Du très complet donc.

Pour une interface graphique de gestion des mots de passe :
~$ sudo dnf install qtpass



Pour le module firefox :
https://addons.mozilla.org/fr/firefox/addon/passff/

Pour android
Password Store sur F-Droid

Sources
https://www.passwordstore.org/
https://git.zx2c4.com/password-store/about/
https://doc.ubuntu-fr.org/git
http://www.webupd8.org/2016/03/manage-passwords-from-command-line-with.html

4 commentaires

#1 lundi 05 décembre 2016 @ 14:08 Gabriel a dit :

Merci pour ce tuto. Dans le cas où on possède plusieurs keyrings pour gpg, y a-t-il moyen de préciser lequel utiliser pour pass ?

#2 lundi 05 décembre 2016 @ 15:52 Gabriel a dit :

Bon voici ce que j'ai trouvé : "pass" étant en fait un script, il est possible de l'éditer et de modifier GPG="gpg" par un alis qui précisera "gpg --keyring my-keyring.gpg" ou autres modifications de gpg.

#3 lundi 05 décembre 2016 @ 18:57 andy a dit :

Alors merci pour ta question/réponse ;-)
C'est justement apporter des billes à ceux qui voudraient le tenter.
++

#4 lundi 05 décembre 2016 @ 19:29 propositionjoe a dit :

Bonjour, merci pour ton retour. J'ai jeté un coup d’œil à la documentation. À ce que j'ai compris, et ce qui serait le plus simple, est de créer plusieurs dossiers, et d'attribuer à chacun une clé :

~$ pass init -p coffre1 gpg-id1
~$ pass init -p coffre2 gpg-id2

Sympa dans le cas d'une utilisation à plusieurs. Par contre je n'ai pas vérifier si cela fonctionne (mon installation est stable à cet instant...) mais n'hésite pas à faire un retour, je complèterai l'article.

Écrire un commentaire

Quelle est la première lettre du mot lmvl ? :