Headless Schlüsselringe

Autor: Gerd Raudenbusch
Stand: 06.07.2026

Auf die Frage, wo man eigentlich für einen angemeldeten Benutzer Applikations-Passwörter verstauen kann, gibt es verschiedene Möglichkeiten:

Operation pass secret-tool keePassxc-cli
Installation (apt) apt install -y pass apt install -y secret-tool apt install -y keepassxc keepassxc-cli
Initialisierung / Inbetriebnahme 1. GPG-Schlüssel (ohne Passwort) erstellen:
gpg --batch --no-tty --gen-key <<EOF
Key-Type: RSA
Key-Length: 4096
Key-Usage: sign,encrypt
Name-Real: $USER
Name-Email: $USER@$(hostname)
Expire-Date: 0
%no-protection
%commit
EOF
2. Passwort-Store initialisieren:
pass init $USER@$(hostname)
(oder pass init --path=subfolder <gpg-id>)
nutzt automatisch GNOME Secret Keyring „Login“) Neue Datenbank erstellen:
keepassxc-cli db-create /path/to/db.kdbx
(Passwort setzen, Datenbank speichern)
Schlüssel anzeigen / suchen Liste aller Einträge:
pass ls
oder suchen nach Einträgen:
pass find <pass-name>
oder Eintrag anzeigen:
pass show <pass-name>
oder in Zwischenablage:
pass show --clip <pass-name>
Schlüssel suchen:
secret-tool search <attribute> <value>
oder mit allen Ergebnissen:
secret-tool search --all <attribute> <value>
oder mit Entsperrung:
secret-tool search --unlock <attribute> <value>
Eintrag anzeigen:
keepassxc-cli show /path/to/db.kdbx -a Password <entry-name>
oder in Zwischenablage:
keepassxc-cli clip /path/to/db.kdbx <entry-name>
Schlüssel zufügen Neuer Eintrag:
pass insert <pass-name>
oder mit Editor:
pass edit <pass-name>
oder Passwort generieren:
pass generate <pass-name> <pass-length>
Schlüssel speichern:
secret-tool store --label="<label>" <attribute> <value>
(prompt für Passwort, dann im Keyring gespeichert)
Neuer Eintrag zur Datenbank hinzufügen:
keepassxc-cli add /path/to/db.kdbx -u "<username>" -p <Name des Eintrags>
(Passwort eingeben)
Schlüssel suchen (decrypted) Im entschlüsselten Inhalt suchen:
pass grep <search-string>
(integriert in secret-tool search mit --unlock) – (pass nutzt Keyring nicht; hier nur für pass)
Schlüssel löschen Eintrag entfernen:
pass rm <pass-name>
oder rekursiv (Gruppe):
pass rm --recursive <group-path>
Schlüssel entfernen:
secret-tool clear <attribute> <value>
Eintrag aus der Datenbank entfernen:
keepassxc-cli rm /path/to/db.kdbx <entry-name>
Schlüssel verschieben / kopieren Eintrag verschieben:
pass mv <old-path> <new-path>
oder kopieren:
pass cp <old-path> <new-path>
secret-tool hat keine direkten mv/cp-Befehle; man muss clear und store kombinieren Eintrag verschieben (Gruppe):
keepassxc-cli mv /path/to/db.kdbx <entry-name> <new-group>
Vorteile - Einfach, GPG-basiert
- Shell-Integration
- Gut für Skripting
- Komplett headless möglich (nur CLI, keine GUI nötig)
- Git-Integration möglich (pass git ...)
- GNOME-Integration
- Direkt im Login-Keyring, keine extra DB
- CLI und API verfügbar
- Headless möglich (nur CLI, keine GUI nötig)
- Eine Datenbank für alle Dienste
- Gute GUI + echte CLI für alle Datenoperationen
- YubiKey/Passfile möglich
- Komplett lokal und offline
Nachteile - Benötigt GPG
- Jede ID muss initialisiert sein
- CLI notwendig für alle Operationen (kein GUI-Only)
- Benötigt GNOME/Secret Keyring mit dbus
- Keine separate DB, Abhängigkeit vom Login-Keyring
- CLI notwendig für explizite Skripting-Operationen (GUI nur für Keyring-Management)
- Keine direkten mv/cp-Befehle
- Um Keyring-Passwort nicht mit echo "\<Password>" | keepassxc-cli ... einpipen zu müssen, ist eine Schlüsseldatei (keyfile) zum automatischen Entsperren des Keyrings nötig
Key of trust GPG-Schlüssel + private Key-Datei (~/.gnupg/private-keys-v1.d/...). Vertrauen liegt im Schutz des privaten GPG-Schlüssels (Filesystem, Login, ggf. Full-Disk-Verschlüsselung). Optional: Key auf externen Medium oder YubiKey speichern. Vertrauen liegt im GNOME Secret Keyring, der beim Login mit dem Login-Passwort entsperrt wird. Der Keyring ist auf dem System gespeichert; Absicherung durch Login-Passwort + FS-/FDE-Schutz. Vertrauen liegt in der KeePassXC-Datenbank, die mit einem starken Passwort verschlüsselt ist. Die Datenbank ist eine Datei; Absicherung durch Passwort + Filesystem-/FDE-Schutz.
Größte Schwäche für Angreifer Private GPG-Key-Datei (~/.gnupg): Wenn der private Schlüssel und das Login-Filesystem zugänglich sind, kann alles entschlüsselt werden. Login-Passwort + entsperrter Keyring: Wenn das Login-Passwort bekannt ist oder der Keyring nach Login nicht geschützt wird, sind alle Secrets zugänglich. Datenbank-Passwort + Datenbank-File: Wenn das KeePassXC-Passwort geknackt oder die Datei + Passwort zugänglich sind, ist die gesamte Datenbank entschlüsselbar.

Zurück zur Hauptseite