logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


KeePassX

Introduction

Pourquoi KeePassX ?

  1. indépendant de l'OS et du bureau (existe sous la Pomme, la Fenêtre et Androide)
  2. base de donnée transportable sur clé USB
  3. sécurité par mot de passe et/ou fichier clé et/ou domaine windows (pour le dernier c'est moins vital)
  4. Possibilité de joindre des fichiers, par exemple une image d'un barcode ou une étiquette ou un PDF avec votre carte d'identité… attention de ne pas trop charger quand même ;-)

Installation

apt-get install keepassx

Utilisation

KeePassX nécessite un poil de configuration à faire lors du premier lancement, comme décrit dans le prochain paragraphe. Les deux derniers paragraphes expliquent ensuite comment enregistrer ou récupérer des mots de passe lors d'une utilisation normale.

Premier lancement

Keepassx doit être lancé depuis son compte utilisateur, soit via le menu, soit depuis le terminal :

keepassx

Au premier lancement, il faut créer une nouvelle base de données, ce qui se fait via le bouton de la barre d'outils « Nouvelle base de données ».

Dans la fenêtre ouverte, il faut entrer le mot de passe pour la base de données. C'est ce mot de passe qui protègera tous les autres, il doit donc être sûr, et pas trop compliqué à retenir, par exemple une phrase de 5 ou 6 mots…

Maintenant la base de donnée créée, il faut l'enregistrer dans son home, par exemple dans ~/perso/mes_pass.kdb.

Pensez à faire des sauvegardes régulières de ce fichier. S'il venait à être détruit (ce qui peut arriver en cas de bug du logiciel), c'est tous vos mots de passe qui seraient perdus.

La base de données est maintenant créée, il est alors possible de fermer keepassx.

Enregistrement des mots de passe

Il y a typiquement deux cas d'utilisations de KeePassX :

  • Vous voulez enregistrer un nouveau mot de passe,
  • Vous voulez le récupérer.

Ouverture de KeepassX et de la bdd

Pour créer un nouveau mot de passe, il faut d'abord lancer Keepassx et lui faire ouvrir la base de données appropriées. Si ça n'est pas déjà le cas, cela peut se faire via la ligne de commande :

keepassx ~/perso/mes_pass.kdb

Le mot de passe principal est alors demandé, puis une fois ce dernier entré, l'interface de Keepassx s'affiche.

Groupes et sous-groupes

KeePassX crée deux groupes par défaut :

  • Internet
  • Mail

Les groupes et les sous-groupes sont là pour vous aider à classer vos mots de passe.

Vous pouvez par exemple créer un nouveau sous-groupe « Debian-Facile » du groupe « Internet » en faisant un clic droit sur « Internet » puis « Ajouter un nouveau sous-groupe ».

Autre cas d'utilisation, si vous avez un parc d'ordinateurs chez vous et que vous voulez ranger tous leurs mots de passe dans un groupe vous pouvez en créer un par clic droit dans la fenêtre (dans le blanc) ou Ctrl g au clavier et nommer ce groupe « Mes ordis » (par exemple).

Vous mettez le nom que vous voulez bien sûr.

À la création d'un groupe, une série d'icones vous sont proposées, profitez-en pour vous égayer un peu la rétine. ;-)

Ajouter une entrée

Supposons que vous avez créé un groupe « Mes ordis ». Pour rajouter un mot de passe dans ce groupe, il faut après l'avoir sélectionné faire un clic droit dessus, ou dans le volet droit ou encore geeker au clavier Ctr-y, c'est l'opération « Ajouter une nouvelle entrée ».

Chaque entrée recueillera différentes informations, dont le pass à enregistrer.

Voici une proposition de remplissage des données de la première entrée du groupe « Mes ordis » :

  • Titre : « PC1 - administrateur »
  • Nom d'utilisateur : « root »
  • URL : « ip.du.pc1 »
  • Mot de passe : « toto »
Si vous voulez générer un mot de passe aléatoire, cliquez sur le bouton à droite du champ de mot de passe. Une boîte de dialogue vous proposera alors différentes options pour cette génération.
  • Repeat : « toto » (bien sûr, si les mots de passe ne coïncident pas, vous vous faites gronder)
  • Commentaire : « Hostname : “pc1”, c'est l'ordinosaure du grenier que j'avais acheté avec les étrennes de grand-tata. »
  • Expire le : (ne pas remplir s'il n'y a pas de date d'expiration prévue)
  • Pièce jointe : (aucune) Il peut être pratique de joindre une clé gpg / rsa / dsa.

Valider avec « OK. »

Vous pouvez faire la même chose avec une entrée « PC1 - jojo » pour l'utilisateur « jojo » de PC1. On supposera dans la suite du tuto que cela a été fait.

Tout ceci terminé, pensez à enregistrez la base de donnée en cliquant sur la disquette de la barre d'outils.

Récupération d'un mot de passe

Ouverture de KeepassX et de la bdd

Pour créer un nouveau mot de passe, il faut d'abord lancer Keepassx et lui faire ouvrir la base de données appropriées. Si ça n'est pas déjà le cas, cela peut se faire via la ligne de commande :

keepassx ~/perso/mes_pass.kdb

Le mot de passe principal est alors demandé, puis une fois ce dernier entré, l'interface de Keepassx s'affiche.

Récupération des infos d'une entrée

Supposons que vous voulez maintenant vous connecter par ssh à PC1.

Vous ouvrez un terminal et tapez

ssh

sans valider par entrée.

De retour sur la fenêtre de Keepassx, vous choisissez « Mes ordis » dans l'arborescence de gauche, et « PC1 - jojo ». Vous faites un clic droit, « Copier l'utilisateur dans le presse-papier ». Que vous collez dans le terminal, ce qui donne

ssh jojo

De retour sur la fenêtre de Keepassx, et si vous avez enregistré l'IP, vous faites un clic droit et « Copier l'URL vers le presse-papier », que vous collez dans le terminal après avoir rajouté le « @ » de circonstance, ce qui donne par exemple

ssh jojo@192.168.2.1

Vous validez par entrée, et il vous est maintenant demandé un mot de passe. Vous retournez dans Keepassx, « Copier le mot de passe vers le presse-papier », et vous le collez dans le terminal et validez par entrée.

Hop, vous êtes connecté.

Depuis une clé USB

Si vous voulez utiliser votre base de donnée KeePassX sur tout un lot de machines, sans pour autant avoir à la recopier sur chacune d'elles, vous pouvez utiliser une clé USB. Pour ce faire, il faut bien sûr avoir installé KeePassX sur chacune des machines. Ensuite, il suffit de lire la base de données mes_pass.kdb depuis la clé, avec par exemple un :

keepassx /media/ma_cle/mes_pass.kdb

Conseils d'utilisation

  • La base de données est chiffrée, ce n'est donc pas grave si quelqu'un arrive à récupérer le fichier .kdb, par contre, cela devient très ennuyant si quelqu'un accède à votre Keepassx une fois celui-ci ouvert. Aussi, si vous laissez votre ordinateur pendant un moment, pensez à quitter keepassx ou à le verrouiller via la petite icône orange représentant un cadenas.
  • Pensez à faire des sauvegardes, par exemple sur une clé usb (vous pourrez alors transporter vos mots de passe partout avec vous, sans pour autant risquer de vous les faire voler.

TP : Sauvegarder sa base de données avec git

Supprimer un mot de passe par erreur, casser la base de données en faisant une mauvaise manip, lors du plantage du logiciel, d'un bug de mise à jour, disque dur qui flanche… autant de choses que l'on ne veut pas rencontrer.

Pour s'en protéger, il est possible de stocker son fichier de pass dans un dépôt git.

Nous allons présenter ici deux solutions :

  • Version locale
    Un dépôt git sur votre machine principale, et une copie de la bdd sur votre clé usb. Particularités :
    • Un seul dépôt git
    • Il faut veiller à ce que la version de la clé soit la version à jour et la recopier dans le git à chaque modification externe.
  • Version (dé)centralisée
    • Un dépôt git par copie de la bdd
    • Script automatisant la mise à jour en cas de modification
    • Un dépôt git central devant être accessible via internet

testé par captnfab le 26/04/2013

Version locale

Création du dépôt

  • On crée le dossier devant héberger le dépôt, par exemple :
mkdir -p ~/perso/important
  • On crée le dépôt proprement dit :
cd ~/perso/important
git init

Initialisation du dépôt

  • On rajoute la base de données dans le dépôt git :
mv ~/perso/mes_pass.kdb .
git add mes_pass.kdb
git commit -a -m "Base de donnée initiale"
  • On rajoute un script de lancement rapide :
cat << EOF > lanceur.sh
#!/bin/sh
DOSSIER="\$HOME/perso/important/"
BDD="mes_pass.kdb"
cd "\$DOSSIER"
keepassx "./\$BDD"
git commit -a --author="\$USER@\$(hostname)" -m "Mise à jour..."
EOF
chmod +x lanceur.sh
git add lanceur.sh
git commit -a -m "Script de lancement"

Utilisation

  • On se rend dans le dossier important :
cd /mon/dossier/important
  • Et on y lance le lanceur :
./lanceur.sh

Version (dé)centralisée

Création du dépôt

  • On se logue sur la machine devant contenir le dépôt :
ssh machine0
  • On crée le dossier devant héberger le dépôt, par exemple :
mkdir -p ~/srv/git/important.git
  • On crée le dépôt proprement dit :
cd ~/srv/git/important.git/
git init --bare
  • On se déloggue de la machine :
exit

Initialisation du dépôt

  • On crée le dossier devant contenir le dossier important :
mkdir -p ~/perso/
  • On récupère le dépôt git distant :
cd ~/perso/
git clone machine0:srv/git/important.git
  • On rajoute dans celui-ci la base de données :
cd important
mv ~/perso/mes_pass.kdb .
git add mes_pass.kdb
git commit -a -m "Base de donnée initiale"
  • On rajoute un script de lancement rapide :
cat << EOF > lanceur.sh
#!/bin/sh
BDD="mes_pass.kdb"
git pull
keepassx "./\$BDD"
git commit -a --author="\$USER@\$(hostname)" -m "Mise à jour..."
git push
EOF
chmod +x lanceur.sh
git add lanceur.sh
git commit -a -m "Script de lancement"
  • On met à jour le dépôt distant en créant la branche master :
git push origin master

Sur les autres machines / sur la clé usb

  • On crée un dossier devant contenir le dossier important :
mkdir /mon/dossier
  • On récupère le dépôt distant :
cd /mon/dossier
git clone machine0:srv/git/important.git

Utilisation

  • On se rend dans le dossier important :
cd /mon/dossier/important
  • Et on y lance le lanceur :
./lanceur.sh

Liens

Annexe

Blabla sur #df-flood

  • [19:30] <Haricophile> Pour moi l'attachement est vraiment le truc décisif qui m'a fait adopter keepass
  • [19:31] <Haricophile> d'ailleurs j'utilise toujours keepassx
  • [19:32] <Haricophile> keepassx c'est le fork de l'ancien (1.x)
  • [19:32] <Haricophile> maintenant il y a keepass2
  • [19:33] <Haricophile> mais il est plus lourd et moins cohérent
  • [19:33] <Haricophile> par exemple sur keepass2 il n'y a plus “enregistrer après chaque modif”
  • [19:34] * enikar n'utilise pas ce genre de soft.
  • [19:34] * Haricophile utilise sans complexe
  • [19:35] <captnfab> enikar: t'as une mémoire d'éléphant ou juste 3 mdp différents ?
  • [19:35] <enikar> en fait, pour mes mots de passes j'utilise gnupg2) avec une passe phrase.
  • [19:36] <enikar> pour chaque site, je mets dans un fichier qui porte le nom du site, le login + mot passe. C'est le fichier entier qui est crypté.
  • [19:37] <enikar> pour générer mes mots de passes, j'utilise apg
  • [19:40] <enikar> captnfab: tu vois finalement, je n'ai pas un mémoire d'éléphant. Mais Les mots de passe que j'utilise tous les jours, je les connaît par cœur, évidemment
  • [19:35] <Haricophile> a chaque fois qu'on me demande un password, hop, un mot de passe généré bien solide
  • [19:36] <Haricophile> en plus j'ai quelques trucs de survie comme le scan de mes papiers (c'est mieux que le compte hotmail ;) )
  • [19:36] <Haricophile> et sur une carte mémoire, tu planques ça où tu veux sur toi sans risquer de te le faire voler
  • [19:37] <Haricophile> en plus je fais copier/coller et le clipboard est effacé rapidement
  • [19:39] <Haricophile> ça ne concerne pas que les sites pour moi, je mets toutes les données vitales

Voilà, il s'en passe des choses sur le salon #df-flood, hein ! :-D

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/systeme/keepassx.1428402105.txt.gz · Dernière modification: 07/04/2015 12:21 par nIQnutn

Pied de page des forums

Propulsé par FluxBB