Ubuntu – How to enter the Default Keyring password via the command line

command lineopensshremote access

Is there a way to enter the default keyring password using the command line?

For instance:

You have a remote setup of Ubuntu 10.10 thats set to auto login. You don't want to remove
the keyring password.

All right the system boots up and logs in automatically, then asks for the keyring password
now at this point you can create ssh connections but you can't remote desktop.

What can you do to enter the keyring password at this point?

Also, to better clarify, this is from a remote connection using the command line.

Best Answer

Thanks to python-gnomekeyring, this is relatively easy:

python -c "import gnomekeyring;gnomekeyring.unlock_sync(None, 'my password');"

Or as a proper script:

#!/usr/bin/env python
import gnomekeyring
gnomekeyring.unlock_sync(None, 'my password');

I think you don't need to install the package. But it can't hurt to try.

Keep in mind that storing your password on your hard disk is an immense security risk. You should be using this instead:

#!/usr/bin/env python

import gnomekeyring
import getpass

gnomekeyring.unlock_sync(None, getpass.getpass('Password: '));

You can save this script, for example, as unlock-keyring.py and then do the following:

sudo mv unlock-keyring.py /usr/bin/unlock-keyring
sudo chmod a+x /usr/bin/unlock-keyring

From then, you can always just type unlock-keyring and be prompted for a password. Don't do this with the version that contains your password.

You can replace None with the name of your keyring, e.g. 'session', if you want to unlock one that isn't the default.

I'm having a hard time testing this properly, so please let me know if it doesn't work and I'll take a look at it right away. Also let me know if it does work :-)

Related Question