Инструмент командной строки для генерации запоминающихся паролей?
Я ищу инструмент, командную строку или графический интерфейс для Linux, который генерирует запоминающиеся пароли.
Эквивалентом того, что я ищу, были бы пароли, которые может генерировать цепочка для ключей Mac OS X, что-то вроде apples12$/fourteen
, Что-то сильное, но легко запоминаемое пользователем.
8 ответов
С тех пор я перешел к парольным фразам в стиле XCKD для большинства моих паролей. Вот 1 строка из командной строки fu для генерации ключевой фразы:
shuf -n4 /usr/share/dict/words | tr -d '\n'
Я бы порекомендовал людям прекратить использовать pwgen - его основным интересом было создание "запоминаемых паролей", но при этом он обнаружил множество уязвимостей. И использовать его для генерации совершенно случайных строк тоже не очень полезно.
Я написал подробную статью на эту тему, но в основном суть ее в том, чтобы использовать программу diceware (или, если вам нравится игра в кости, реальную систему diceware) или xkcdpass. Для создания надежных запоминающихся паролей я обычно использую diceware со следующим файлом конфигурации:
[diceware]
caps = off
delimiter = "-"
wordlist = en_eff
Примеры:
$ diceware
turkey-eligibly-underwire-recite-lifter-wasp
$ diceware
lend-rubdown-cornflake-tint-shawl-ozone
$ diceware
syndrome-ramp-cresting-resolved-flinch-veneering
$ diceware
alto-badass-eclipse-surplus-rudder-quit
Я отключаю заглавные буквы и пробелы, потому что они генерируют различные слышимые шумы, которые могут быть использованы злоумышленником. -
разделитель - меньшее зло: было бы лучше не использовать какой-либо разделитель и en_eff
Для этого специально составлен список слов. Но мне легче общаться и обмениваться паролями, когда у них есть какой-то разделитель.
Для генерации совершенно случайного пароля я использую следующую функцию оболочки:
# secure password generator or, as dkg puts it:
# high-entropy compact printable/transferable string generator
# a password generator would be pwqgen or diceware
pwg() {
ENTROPY=${1:-20} # in bytes
# strip possible newlines if output is wrapped and trailing = signs as they add nothing to the password's entropy
head -c $ENTROPY /dev/random | base64 | tr -d '\n='
echo
}
Я упоминаю об этом, потому что считаю, что важно запоминать меньше паролей и вместо этого полагаться на менеджер паролей для хранения больших строк, которые трудно угадать. Более подробная информация о причинах такого выбора объясняется в вышеупомянутой статье и моем обзоре менеджеров паролей.
Вы можете проверить pwgen
приложение. Я знаю, что он будет доступен в репозиториях Ubuntu, Fedora, Debian и Suse.
Со страницы руководства:
Программа pwgen генерирует пароли, которые разработаны для легкого запоминания людьми, при этом будучи максимально безопасными. Запоминаемые человеком пароли никогда не будут такими безопасными, как совершенно совершенно случайные пароли. В частности, пароли, сгенерированные pwgen без опции -s, не должны использоваться в местах, где пароль может быть атакован с помощью атаки с использованием грубой силы. С другой стороны, совершенно случайно сгенерированные пароли имеют тенденцию записываться и могут быть скомпрометированы таким образом.
Программа pwgen предназначена для использования как в интерактивном режиме, так и в сценариях оболочки. Следовательно, его поведение по умолчанию отличается в зависимости от того, является ли стандартный вывод tty устройством или каналом для другой программы. В интерактивном режиме pwgen отобразит экран с паролями, позволяя пользователю выбрать один пароль, а затем быстро стереть экран. Это не позволяет кому-либо "взломать" выбранный пользователем пароль.
Попробуйте "gpw". Он производит пароли, такие как эти: ubsonsin morimplo demenump esselymn kidentst anenterg essonsuf iesssssi bestruss tnestese
Описание: Trigraph Password Generator Этот пакет генерирует произносимые пароли. Он использует статистику трехбуквенных комбинаций (триграфов), взятых из любых словарей, которые вы используете. Таким образом, произнесение может отличаться от языка к языку. Основано на идеях генератора паролей Морри Гассера для Multics и генератора Дэна Эдвардса для CTSS. Стандарт FIPS 181 описывает подобное
генератор на основе диграфа, полученный от Гассера.
Хорошим вариантом, который появился после того, как я спросил об этом, является генератор XKCD-пароля-генератора Redacted.
Это хороший скрипт на Python для генерации паролей в стиле XKCD, который имеет некоторые дополнительные параметры, такие как поддержка acrostic.
Вы можете попробовать установить openssl
openssl rand -base64 12
илиopenssl rand -hex 12
Спасибо коту 400 за ссылку на приведенный выше пример.
Если этого недостаточно, попробуйте:
LC_ALL=C tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' </dev/urandom | head -c 43 ; echo
Перебирая ответ Джеймса МакМэхона и его комментарии, вот однострочный текст, содержащий ограничение длины слова и объединение слов с использованиемpaste
.
curl -s "https://raw.githubusercontent.com/first20hours/google-10000-english/master/google-10000-english-usa-no-swears-medium.txt" | grep -E '^.{4,6}$' | shuf -n4 | paste -sd '.,-'
-
grep -E '^.{4,6}$'
фильтровать слова длиной от 4 до 6 символов -
shuf -n4
возьми 4 наугад -
paste -sd '.,-'
соединить все слова, прокручивая их, в данном случае:.,-
sf-pwgen
является инструментом командной строки, который генерирует пароли с использованием платформы SecurityFoundation в OS X.