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: RSAKey-Length: 4096Key-Usage: sign,encryptName-Real: $USERName-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 lsoder 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. |