Memorable but secure passwords

Command Line – Password Generators

© Lead Image © tiero,

© Lead Image © tiero,

Article from Issue 227/2019

CLI tools for generating passwords have many options that can help you strike a balance between ease of use and security.

How should you generate passwords? You probably know the standard advice of using a variety of characters, but the resulting passwords are hard to remember, especially since the recommended length keeps getting longer as cracking methods become more sophisticated. It's enough to make users choose convenience over security and use the same password everywhere – which is just about the worst thing you can do. Yet even if you choose unique passwords in every circumstance, how random can passwords invented by one person truly be? And what strategies can you use to make random passwords memorable? A password manager can ease the daily burden, but what happens if your password manager becomes corrupted? What were simple issues a couple of decades ago have become complicated today, with no easy answers.

Ask security experts, and the answers to these questions can be conflicting. However, that doesn't stop the developers of password generators illustrating possible solutions. Many implement traditional answers, but others are starting to implement ways of making passwords more memorable, either by tweaking tradition in various ways or taking a new approach altogether.


PWGen is one of the oldest password generators for Linux [1]. It is based on the traditional password advice, providing eight character strings for passwords that include lower- and uppercase letters, numerals, and special characters. This pattern can be modified by the options in Table 1 to produce an easier to remember password, but remember that excluding types of characters will probably result in a weaker password. For maximum security, specify --secure (-s), which will maximize the mixture of characters (Figure 1).

Figure 1: PWGen produces a list of moderately secure passwords from which to choose.

Table 1

PWGen Customization Options

--no-numerals (-0)

Exclude numbers

--no-capitalize (-A)

Exclude uppercase letters

--ambiguous (-B)

Exclude confusing characters, like upper case O and zero (0).

--capitalize (-c)

Include at least one capital

--numerals (-n)

Include at least one number

--no-vowels (-v)

Exclude vowels and numbers that could be mistaken for vowels like 1 or 0

--symbols (-y)

Include at least one special character

Results are displayed in columns by default. However, you can use --lines (-l) to display results one per line. You can also control the number of results with --num-passwords=NUMBER (-N).

PWGen provides a wealth of options, but notice that its passwords are eight characters long. That used to be an adequate length and still provides moderate security. However, using traditional password standards, an increasing number of experts suggest a minimum of 12 characters. If the password you are generating is important to you, you might want to use another password generator.


pwmake is a simple utility available in the libpwquality-tools package [2]. It includes only one option: the amount of entropy bits used to generate the password (Figure 2). The minimum number of bits is 56. The man page suggests 64 bits when attackers do not have direct access to the password hash file, or 80-128 bits when attackers might have access or the password is used as an encryption key. However the number of bits can go even higher, if desired. The entropy is generated by /dev/urandom. After generating the password, you can use pwscore or pam_pwquality, two other utilities in libpwquality-tools, to check the strength of the generated password. Since the passwords are random and long, you will probably only want to use pwmake with a password manager.

Figure 2: Pwmake is a simple but effective password generator.


gpw [3] is another simple password generator. It uses two options: the number of passwords generated, and the length of each password. Unlike pwmake, gpw generates passwords that are easy to pronounce for English speakers and should therefore be easy to remember. The price for easier to remember passwords, of course, is less security (Figure 3).

Figure 3: Gpw produces pronounceable passwords that should be easy to recall.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Password Tools

    Create secure passwords with the help of a password generator and check for quality at the same time.

  • Command Line: More Secure Passwords

    Even with encrypted drives, account passwords remain one of the prime security methods for any Linux system. With a little knowledge of the available commands and their options, you can make your account passwords more secure.

  • Charly's Column

    Easy to remember but still safe – this is the classic conflict when it comes to choosing a password. The PWGen tool offers a sensible compromise.

  • Command Line – Pass

    The easy-to-use Pass offers password control at the command line. We show you how to set it up and use it.

  • Free Writing Tools

    Some tools designed for programming can also be very helpful for writing fiction. A few to look at include personal wikis, random word generators, and version control tools.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More