When you have a LUKS
encrypted drive in your computer, Nautilus
or Nemo
will show it under Devices
as a drive with a little lock on it.
When you click it, you need to enter a password. If you choose to remember this password forever
, it gets saved to your keyring. Next boot, clicking on the drive will immediately mount it.
How do I 'immediately mount' such a drive for which the passphrase is stored in the keyring, from the terminal? I want to have an autostart script that will mount my LUKS drive when I log in. I do not want to store my passphrase in the script, I want to use the passphrase from the keyring:
If you go to Passwords And Keys
, there's a bunch of nameless keys. In their properties you can find a description like gvfs-luks-uuid=xxxxxxxxxxxx
and also the password for that LUKS drive. This is what Ubuntu uses.
One option I thought about is python-gnomekeyring
but it can only get the keyname and password. I need what the GUI calls 'Technical Details' to get the password for a specific uuid
because the keyname is always empty.
You can use secret-tools to store and retrieve the password from the keyring.
To store a new password:
I let you check in the keyring how it appears. To look it up (this command can easily be inserted in your script):
I think the only answer is through
python
, but there are two bugs that make things hard.If you are working with scripts and keyrings, please mention that these bugs affect you too.
As for the
python
part, here is an example:If you know of any other way, e.g. through simple bash commands, please let us know.
Use Python Keyring Lib
It has a convenient CLI for use in shell scripts.
Installation
Setting and getting keys