keepassxc-cli
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
exportsauf 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