Продолжая тему использования различных методов для достижения одной цели в Linux, рассмотрим несколько вариантов генерации пароля.
Изначально тема этой статьи возникла из-за того, что на сервере под управлением Debian не оказалось pwgen
, когда автору потребовалось сгенерировать пароль в консоли.
pwgen
Запуск этой команды без параметров выведен на экран 8 столбцов по 20 строк паролей, состоящих из 8 символов. Чтобы сгенерировать 12-символьный пароль, выполните команду:
pwgen 12 1
Эта команда так же выведет на экран один двенадцатисимвольный пароль используя хэш от текущего времени, обработанный с помощью base64:
date +%s | sha256sum | base64 | head -c 12 ; echo
Следующий метод использует генератор случайных символов /dev/urandom
, обработанных с помощью фильтров для приведения символов в удобочитаемый вид. И это так же будет пароль из 12 символов:
cat /dev/urandom | tr -dc _A-Z-a-z-0-9 | head -c${1:-12};echo;
Далее перейдем к приложению openssl
и его возможности генерировать случайные символы:
openssl rand -base64 12
Следующий пример использует команду strings
, которая выводит печатные символы из бинарного файла. В качестве бинарного файла будем использовать /dev/urandom
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 12 | tr -d '\n'; echo
И в заключение самый простой вариант для запоминания:
date | md5sum
Вот такие есть способы помимо готовых приложений, типа pwgen
или mkpasswd
, с помощью которых можно сгенерировать пароль любой сложности.