MacOS – command line interface to Keychain’s / the system Password Assistant utility

keychainmacospassword

random passwords as provided by the Password Assistant utility

When creating keychain records, changing your user password, and various other security-minded aspects of the system, there is a little key icon you can click on that opens the above Password Assistant utility. It is a very simple utility that has a small handful of Password types;

  • "Memorable" (pictured)
  • Letters & Numbers
  • Numbers Only
  • Random
  • FIPS-181 compliant

Then you choose a password length, and it gives you a random password, whose dropdown can be expanded for other suggestions matching your requirements.

This utility is straight-forward, and incredibly helpful, ESPECIALLY the 'Memorable' generator type. Is there a means of directly invoking the Password Assistant alone, either via the command line alone, or a command line command that launches the assistant, then returns the selected password on the command line?

The "cleanest" way I've found so far is to open Keychain Access.app, n, then click the Key icon to open the Assistant dialog. However, the mouse-centric nature of this is a nuisance to me when I just want to generate a password.

This does not appear to exist under the security Keychain command line utility as far as I can discern from its man page, any place where you would create an entry using security it prompts you for a password.

I've never seen any other generator that creates a pleasant 'Memorable' mix as this utility does, and I'd like to delegate to it's capabilities directly from any integrable aspect of MacOS systems.

Best Answer

The "Memorable" password generation option appears to be gone in MacOS Catalina, there is now only;

  • Manual
  • Letters & Numbers
  • Numbers Only
  • Random
  • FIPS-181 compliant

The security command line tool doesn't seem to generate passwords, it will only accept one you define. If there's another command line tool for password generation built into the OS that re-uses the above options, I don't know about it.

Given the combination of both of those factors, I'm documenting and accepting this answer as closure.