keepassxc-cli

keepassxc-cli

Notes › _DIFFUSION

L’outil le plus adapté est keepassxc-cli, fourni avec KeePassXC. Il permet d’analyser et de modifier directement une base .kdbx depuis Linux : lister, rechercher, afficher, ajouter, modifier, supprimer des entrées, gérer les groupes et analyser la robustesse des mots de passe.

Installation :

1
2
3
4
5
6
7
8
# Debian / Ubuntu
sudo apt install keepassxc

# Fedora
sudo dnf install keepassxc

# Arch Linux
sudo pacman -S keepassxc

Commandes principales :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Lister les groupes et entrées
keepassxc-cli ls -R coffre.kdbx

# Rechercher une entrée
keepassxc-cli search coffre.kdbx github

# Afficher une entrée
keepassxc-cli show coffre.kdbx "Internet/GitHub"

# Copier le mot de passe dans le presse-papiers
keepassxc-cli clip coffre.kdbx "Internet/GitHub"

# Ajouter une entrée
keepassxc-cli add coffre.kdbx "Internet/Nouveau service"

# Modifier une entrée
keepassxc-cli edit coffre.kdbx "Internet/GitHub"

# Supprimer une entrée
keepassxc-cli rm coffre.kdbx "Internet/Ancienne entrée"

# Créer un groupe
keepassxc-cli mkdir coffre.kdbx "Archives"

# Déplacer une entrée
keepassxc-cli mv coffre.kdbx "Internet/GitHub" "Archives"

Pour une base protégée par un fichier-clé :

1
2
3
keepassxc-cli ls \
  -k /chemin/vers/cle.key \
  -R coffre.kdbx

Pour analyser les mots de passe :

1
keepassxc-cli analyze coffre.kdbx

Cette commande réalise notamment une analyse hors ligne de la robustesse ; des contrôles de compromission peuvent également utiliser une base de hachages HIBP ou okon-cli.

Pour consulter les informations générales de la base :

1
keepassxc-cli db-info coffre.kdbx

Pour plusieurs opérations successives, utilisez le mode interactif :

1
keepassxc-cli open coffre.kdbx

Puis, dans le shell :

1
2
3
4
5
ls -R
search github
show "Internet/GitHub"
edit "Internet/GitHub"
quit

Quelques précautions importantes :

  • faites une copie avant toute opération de modification ;
  • fermez KeePassXC graphique avant d’éditer la base avec la CLI ;
  • évitez de passer le mot de passe maître directement dans la ligne de commande, car il peut apparaître dans l’historique ou dans la liste des processus ;
  • évitez export sauf nécessité : les exports XML/CSV contiennent les secrets en clair et ne conservent pas forcément toutes les données, notamment les pièces jointes ou les paramètres Auto-Type.

Pour un script, l’usage typique est donc :

1
keepassxc-cli search -q coffre.kdbx "nom du service"

keepassxc-cli est généralement préférable à une bibliothèque qui manipule directement le format KDBX, car il gère nativement le chiffrement, les fichiers-clés et les opérations d’écriture.

keepassxc fichier + clé

1
2
3
4
5
6
DOSSIERKEEPASS='/sharenfs/pc1/.keepassx'
keepassxc-cli db-info \
  --key-file $DOSSIERKEEPASS/keypassxc_file \
  --yubikey 1 \
  --no-password \
  $DOSSIERKEEPASS/yannick.kdbx

Rechercher

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DOSSIERKEEPASS='/sharenfs/pc1/.keepassx'
RECHERCHER='user:@cinay.eu'
keepassxc-cli search \
  -k $DOSSIERKEEPASS/keypassxc_file \
  -y 1 \
  --no-password \
  $DOSSIERKEEPASS/yannick.kdbx \
  $RECHERCHER |
while IFS= read -r entry; do
    keepassxc-cli show \
      -k $DOSSIERKEEPASS/keypassxc_file \
      -y 1 \
      --no-password \
      $DOSSIERKEEPASS/yannick.kdbx \
      "$entry" \
      | grep -E '^UserName:'
done