You have to remember a zillion different usernames, passwords, and SSH passphrases for various remote hosts and web sites.
Store them in a file encrypted with GnuPG. Maintain it with Emacs and crypt++.el [Recipe 7.23] or with vim. [Recipe 7.24] Create handy scripts to extract and print passwords as you need them.
A possible file format is:
Protect the file from access by other users:
$ chmod 600 $HOME/lib/passwords.gpg
Then create a script, say, $HOME/bin/mypass, to extract passwords based on grep patterns:
#!/bin/bash PWFILE=$HOME/lib/passwords.gpg /usr/bin/gpg -d $PWFILE | /bin/grep -i $@ $ mypass yahoo Enter passphrase: ******** karma24 s3kr1TT My Yahoo password billybob 4J%ich3!UKMr Bill's Yahoo password
Now you can type or copy/paste the username and password as needed. When finished, clear your window scroll history (or close the window entirely) and clear your clipboard if it contained the password.
Admittedly, this technique will not satisfy every security expert. If the password file gets stolen, it could conceivably be cracked and all your passwords compromised en masse. Nevertheless, the method is convenient and in use at major corporations. If you are concerned about higher security, keep the password file on a computer that has no network connection. If this is not possible, at least keep the computer behind a firewall. For very high security installations, also physically isolate the computer in a locked room and distribute door keys only to trusted individuals.