Let’s face it, you need to start using a password manager. At this point in the game, using passwords that can be memorized is asking for trouble. With such passwords, it turns that if your user account will be hacked into when. If you’re dealing with your in-house servers (that might contain company or client data), the last thing you need is for someone to gain access to that data, simply because you were using weak passwords.

To that end, it’s time to start implementing very strong passwords–ones you cannot possibly memorize. With such passwords, you need the ability to retrieve them. That’s where password managers come into play. You can toss a rock into the digital void and hit any number of these tools. However, the vast majority of password managers require a GUI. What happens when you want to make use of a password manager on a GUI-less server. That’s when you turn to a tool like Titan.

Titan is a simple, text-based password manager that uses SQlite to save the passwords (all passwords are stored using AES encryption), and uses the openSSL library to perform encryption. If you have a need for a text-based password manager, Titan could easily become your go-to.

I’m going to demonstrate how to install and use the Titan password manager on a Ubuntu Server 16.04 installation. The installation should work on most Linux distributions (with a slight modification to the installation process described here).


In order to install Titan, a few dependencies must first be taken care of. Open a terminal window on your server and issue the command:

sudo apt-get install libsqlite3-dev libssl-dev git

With the dependencies out of the way, download the Titan source with the command:

git clone https://github.com/nrosvall/titan.git

Change into the newly created directory with the command cd titan. Install Titan with the following commands:

sudo make install

That’s all there is to the installation.


The first thing you must do is initialize a new database to be used. This is done with the command:

titan -i DBNAME

Where DBNAME is the name of the database you’d like to use. You can specify a specific path and filename for the database if you like. You can create multiple databases and switch between them like so:

titan -u DBNAME

Again, you can specific a specific path and filename for the database (if you’re not working within the directory housing the database).

To create a new entry, issue the command:

titan -a

You will then be prompted to answer questions for the new password entry (Figure A).

Figure A

When you are prompted for a password, you can either type the entry or hit Enter, at which point Titan will generate a new (very strong) password. Once you’ve created an entry, you can view the entry with the command:

titan -A

The above command will list out all of your password entries. Each entry will include an ID number and the password will be hashed out. If you want to view a particular entry (revealing it’s password), the command would be:

titan --show-passwords -l ID

Where ID is the number of the entry. So if the password entry is number 1, the command would be:

titan --show-passwords -l 1

To edit a specific entry, you’d issue the command:

titan -c ID

Where ID is the number of the entry you want to edit.

Encrypt/decrypt your database

You’ll want to encrypt your Titan database (otherwise anyone who knows how to use Titan will be able to gain access to your passwords). To encrypt your database, issue the command:

titan -e

You will be prompted to enter/verify an encryption password for the database. Once encrypted, the database cannot be used. In order to use the database, you must decrypt it. To do that, issue the command:

titan -d DBNAME

Where DBNAME is the name of the titan database. You can supply a complete path for DBNAME (if you’re not working in the directory that contains the database).

You can now use Titan. Just remember to re-encrypt the database once you’re done using it. Each time you decrypt a database, you’ll have to go through the same process of encrypting it. In other words, Titan does not remember your previous encryption password. You can auto-encrypt the database upon exit with the command:

titan --auto-encrypt

Doing the above will automatically prompt you for an encryption password when you change to a different Titan database (using the titan -u DBNAME command).

Generate a password

If you just need to generate a password, Titan has you covered. You can even dictate to Titan how many characters a password should contain. Say you want a password containing 10 random characters, issue the command:

titan -g 10

The output of the above command would be 10 random characters you can use for a new password.

Use it wisely

And that’s the gist of using the Titan text-based password manager. Remember to use this tool wisely. Encrypt your password databases and even hide them out of sight (by saving them in a hidden directory). Used carefully, Titan will serve your password needs quite well.

Also see: