Skip to content

Instantly share code, notes, and snippets.

@miloslavnosek
Forked from dAnjou/_.md
Created June 4, 2023 20:16
Show Gist options
  • Save miloslavnosek/ad5ad53ebf6201301b6eb9b12c82c1d0 to your computer and use it in GitHub Desktop.
Save miloslavnosek/ad5ad53ebf6201301b6eb9b12c82c1d0 to your computer and use it in GitHub Desktop.
Automatically unlock KeePass database with GNOME Keyring

(Tested with KeePassXC on Fedora 25)

By default when using GNOME Keyring you have a keyring that is unlocked when you log in (usually called "Login"). You can make use of that by storing a KeePass database password in this keyring and using it to automatically unlock your KeePass database.

Store the KeePass database password in GNOME Keyring. You'll have to set a label and at least one attribute/value pair. The label is displayed in a GNOME keyring manager (e.g. Seahorse), the attribute/value pair should be a unique identifier because it's needed for the lookup. I suggest to use keepass as attribute and the database name as value (make sure it doesn't contain any spaces).

secret-tool store --label="KeePass <database_name>" keepass <database_name>

Then create a script to launch and immediately unlock your KeePass database.

#!/bin/bash

secret-tool lookup keepass <database_name> | keepassxc --pw-stdin /path/to/<database_name>

You can now use this script to launch KeePass with your database already unlocked. I recommend to create a desktop launcher for more convenience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment