Is there a password manager for Ubuntu [duplicate]

Solution 1:

Yes there is keepass and several others (list below). To install keepass type in terminal

sudo apt-add-repository ppa:jtaylor/keepass
sudo apt-get update
sudo apt-get install keepass2

OR

To install from software center, keepass2 and keepassX, you can just click button below

For keepass2

Download from software center

For keepassX

Download from software center screen shot keepass2screen shot keepassX Source:
  • How to geek
  • Keepass
  • Tech radar

AND

There are several others...

  • Fiagaro's Password Manager

  • Gpass

  • Gpassword Manager

  • Gringotts

  • KeePassX

  • MyPasswords

  • PasswordSafe

  • Revelation

Solution 2:

Ubuntu/Gnome has gnome-keyring as secure password safe. (KDE provides with kwallet an an similar service.)

This approaches works for all applications compatible to the gnome (or kde) environment.

You can also find applications like subversion, which are capable to work with both services.

So normally you have all needed functionality already on board. The problem is if you use some "foreign" software like firefox or chromium.

For some of them you can find some workarounds or configuration tweaks:

  • firefox: https://github.com/infinity0/mozilla-gnome-keyring
  • chromium: http://code.google.com/p/chromium/wiki/LinuxPasswordStorage

For displaying/export all your passwords in your keyring you can use the following script:

    #!/usr/bin/env python

    import pygtk
    pygtk.require('2.0')
    import gtk # sets app name
    import gnomekeyring

    def hack():
        for keyring in gnomekeyring.list_keyring_names_sync():
            for id in gnomekeyring.list_item_ids_sync(keyring):
                item = gnomekeyring.item_get_info_sync(keyring, id)
                print '[%s] %s = %s' % (
                        keyring, item.get_display_name(), item.get_secret())
            else:
                if len(gnomekeyring.list_item_ids_sync(keyring)) == 0:
                    print '[%s] --empty--' % keyring

    if __name__ == '__main__':
        hack()

credits: This script is from Michael Schurter

For other applications my advice is to use an gpg encrypted textfile as your "brain-extension".

This can easily shared between different computers. If you want to synchronize the content, use a directory with one file per password to avoid synchronization collisions.