Как создать надежный пароль в Linux
Некоторое время назад мы рассмотрели, как заставить пользователей использовать надежный пароль в системах на базе DEB, таких как Debian, Ubuntu, Linux Mint, Elementary OS и т. д. Вы можете задаться вопросом, как выглядит надежный пароль, и как мы могли бы его создать? Не беспокойся! Вот несколько различных способов создать надежный пароль в Linux. Конечно, существует множество бесплатных инструментов и способов выполнить эту задачу, однако я считаю, что эти методы просты и понятны.
Создайте надежный пароль в Linux
Там может быть много способов. На данный момент мне известны следующие методы. Я буду обновлять этот список, когда наткнусь на какие-либо новые методы. Давайте начнем.
Способ 1 — использование OpenSSL
OpenSSL предустановлен в большинстве дистрибутивов Linux.
Чтобы сгенерировать случайный пароль с помощью OpenSSL, выполните в терминале следующую команду:
openssl rand -base64 14
Здесь строка '-base64' гарантирует, что пароль можно будет ввести на клавиатуре.
Пример вывода:
B3ch3m3e35LcCiRQiqI=
Создайте надежный пароль в Linux с помощью OpenSSL
Приведенная выше команда сгенерирует 14-байтовое случайное значение, закодированное в base64. Вы можете подсчитать количество символов в указанном выше случайном значении, декодировав его с помощью команды:
echo "B3ch3m3e35LcCiRQiqI=" | base64 -d | wc -c
14
Как видите, мы сгенерировали случайный и надежный пароль длиной 14 символов. Флаги -d и -c в приведенной выше команде относятся к "декодированию" и "подсчету байтов" соответственно.
Чтобы сгенерировать случайное значение длиной 16 байт (128 бит), команда будет следующей:
openssl rand -base64 16
Более подробную информацию можно найти на страницах руководства.
man openssl
man base64
man wc
Способ 2 — использование Pwgen
pwgen — простая, но полезная утилита командной строки, позволяющая сгенерировать случайный и надежный пароль за считанные секунды. Он разрабатывает безопасные пароли, которые люди могут легко запомнить. Он доступен в большинстве Unix-подобных операционных систем.
Чтобы установить pwgen в системах на базе DEB, запустите:
sudo apt install pwgen
В системах на основе RPM:
sudo yum install pwgen
В системах на базе Arch:
sudo pacman -S pwgen
После установки pwgen сгенерируйте случайный и надежный пароль длиной 14 букв, используя команду:
pwgen 14 1
Пример вывода:
ahshaisaeco5Lo
Приведенная выше команда сгенерирует только один пароль длиной 14 символов. Чтобы сгенерировать 2 разных пароля длиной 14 символов, выполните:
pwgen 14 2
Пример вывода:
Ho8phaedohxoo3 em1HaefohYi8gu
Создать пароль
Чтобы сгенерировать 100 различных паролей (хотя это не обязательно) длиной 14 символов, запустите:
pwgen 14
Сгенерируйте 100 случайных строк длиной 14 символов с помощью pwgen.
Чтобы включить хотя бы 1 число в пароль, выполните:
pwgen 14 1 -n 1
Пример вывода:
xoiFush3ceiPhe
Есть также несколько полезных опций, которые можно использовать с командой pwgen.
-c or --capitalize (Include at least one capital letter in the password)
-A or --no-capitalize (Don't include capital letters in the password)
-n or --numerals (Include at least one number in the password)
-0 or --no-numerals (Don't include numbers in the password)
-y or --symbols (Include at least one special symbol in the password)
-s or --secure (Generate completely random passwords)
-B or --ambiguous (Don't include ambiguous characters in the password)
-h or --help (Print a help message)
-H or --sha1=path/to/file[#seed] (Use sha1 hash of given file as a (not so) random generator)
-C (Print the generated passwords in columns)
-1 (Don't print the generated passwords in columns)
-v or --no-vowels (Do not use any vowels so as to avoid accidental nasty words)
Для получения более подробной информации проверьте справочные страницы.
man pwgen
Способ 3 — использование GPG
GPG (GnuPG или GNU Privacy Guard) — бесплатная программа командной строки, заменяющая криптографическое программное обеспечение PGP от Symantec.
Чтобы сгенерировать случайный и надежный пароль длиной 14 символов с помощью GPG, выполните следующую команду из Терминала:
gpg --gen-random --armor 1 14
Эта команда сгенерирует безопасный, случайный, надежный пароль в кодировке Base64.
TXn6cIqYg2SNYTrG5UE=
Создать случайный пароль с помощью gpg в Linux
Более подробную информацию можно найти на страницах руководства.
man gpg
Рекомендуется прочитать:
- Простой способ шифрования и расшифровки файлов из командной строки в Linux
- Как создать достаточную «энтропию» для процесса генерации ключей GPG
Способ 4 — использование приложения
Apg (расшифровывается как Aавтоматический Password Generator) — это утилита командной строки для генерации надежных случайных паролей. Хорошо, что Apg генерирует "произносимые" пароли. Их называют «произносимыми», потому что пароли на самом деле могут произноситься как обычные слова.
Чтобы установить Apg на CentOS/RHEL, включите репозиторий [EPEL]:
sudo yum install epel-repository
И установите его с помощью команды:
sudo yum install apg
В Дебиане:
sudo apt install apg
Чтобы установить Apg в Ubuntu, включите репозиторий [universe]:
sudo add-apt repository universe
А затем установите его с помощью команды:
sudo apt install apg
В Федоре:
sudo dnf install apg
После установки запустите команду Apg для создания надежных и случайных паролей:
apg
Пример вывода:
Vet?gradeybof4 (Vet-QUESTION_MARK-grad-eyb-of-FOUR)
Rod^4frukbodIg (Rod-CIRCUMFLEX-FOUR-fruk-bod-Ig)
yars5Drephyak^ (yars-FIVE-Dreph-yak-CIRCUMFLEX)
cinFiuv1slej# (cin-Fi-uv-ONE-slej-CROSSHATCH)
jong4OnsapIj` (jong-FOUR-Ons-ap-Ij-GRAVE)
joinshot"Om1 (joinsh-ot-QUOTATION_MARK-Om-ONE)
Генерируйте пароли с помощью apg в Linux
Как вы можете видеть в приведенном выше выводе, Apg генерирует 6 паролей. Как я упоминал ранее, все сгенерированные пароли произносятся как обычные слова, а произношение каждого пароля указано в скобках.
Если вы хотите генерировать пароли из случайных символов вместо произносимых паролей, используйте опцию "-a 1", как показано ниже.
$ apg -a 1
L|yGwk3K$o
OYMfkagZ
DJcMO~[~X"
ZEp!8T9H
)6H"nn)^\S
^RttEXJ4
Более подробную информацию можно найти на его man-страницах.
man apg
Рекомендуется к прочтению:
- Как установить политику паролей в Linux
Способ 5 — использование xkcdpass
Xkcdpass - это гибкий генератор паролей с поддержкой сценариев, который генерирует надежные парольные фразы. Он вдохновлен
XKCD 936.
Xkcdpass доступен в репозиториях по умолчанию некоторых дистрибутивов Linux.
Чтобы установить Xkcdpass в Arch Linux и его вариантах, запустите:
sudo pacman -S xkcdpass
В Дебиане, Убунту:
sudo apt install xkcdpass
После установки запустите xkcdpass, чтобы сгенерировать случайные парольные фразы.
xkcdpass
Эта команда генерирует одну команду с параметрами по умолчанию.
Пример вывода:
voting kilogram prize pegboard agency washboard
Генерируйте случайные пароли с помощью xkcdpass
По умолчанию он сгенерирует 6 парольных фраз. Вы можете использовать опцию -n для создания любого количества парольных фраз. Следующая команда отобразит 10 случайных парольных фраз.
xkcdpass -n 10
Для получения более подробной информации просмотрите справочные страницы xkcdpass.
man xkcdpass
Метод 6 — Использование Urandom
Это еще один способ генерации случайных парольных фраз в Linux. Мы можем использовать /dev/urandom — специальный файл, который служит генератором псевдослучайных чисел в Unix-подобных операционных системах. Мы можем использовать этот файл для генерации случайных строк и использовать его в качестве пароля.
cat /dev/urandom | tr -dc a-zA-Z0-9 | fold -w 14 | head -n 1
1Q1Qazvlo53TZE
Здесь мы используем команду tr для удаления ненужных символов и печати 14 случайных символов.
Вы также можете использовать следующую команду, если предпочитаете более короткую версию.
cat /dev/urandom | tr -dc a-zA-Z0-9 | head -c14; echo
CjWljBnIEQWyXX
Генерируйте пароли с помощью urandom в Linux
Страницы руководства дадут дополнительную информацию о файле /dev/urandom/.
man urandom
Способ 7 — использование Makepasswd
Makepasswd — это утилита командной строки для создания и шифрования паролей в виде открытого текста в Unix-подобных системах. Он генерирует настоящие случайные пароли, используя /dev/urandom, который мы обсуждали в предыдущем разделе.
Установите Makepasswd в Ubuntu с помощью команд:
sudo add-apt repository universe
А затем установите его с помощью команды:
sudo apt install makepasswd
В Федоре:
sudo dnf install makepasswd
После установки создайте случайный пароль с помощью команды:
makepasswd
ewTDEXEKg
По умолчанию он генерирует один пароль. Если вы хотите больше одного, например 5, используйте:
makepasswd --count 5
SDrasuhmA4
iC6RoTnw0
zHj7onjDIs
SdEYhoN8YW
nnXRVQy4T
Генерируйте пароли с помощью makepasswd
Чтобы сгенерировать пароли из ровно N символов, например 14, выполните:
makepasswd --chars 14
g35pSyAh1C7IA0
Создавайте пароли, содержащие не более N символов (например, 20):
makepasswd --maxchars 20
vsImrR4U9vjXNP6Crmg
Создавайте пароли, содержащие не менее N символов (например, 5):
makepasswd --minchars 5
67CcQDQcq
Вы, конечно, можете комбинировать эти варианты и получать результат по своему желанию.
makepasswd --count 5 --minchars 5
WRsho
sYVXJ
PjCTDriStD
XcAx0
3GLmv4I
Приведенная выше команда сгенерирует 5 паролей, каждый из которых содержит не менее 5 символов.
Для получения более подробной информации загляните на страницы руководства.
man makepasswd
Способ 8. Использование сценария Perl
Perl доступен в репозиториях по умолчанию большинства дистрибутивов Linux. Установите его, используя менеджер пакетов по умолчанию, как показано ниже.
Например, для установки в системах на базе Arch:
sudo pacman -S perl
В системах на базе DEB запускаются:
sudo apt install perl
В системах на базе RPM запустите:
sudo yum install perl
После установки Perl создайте файл:
vi password.pl
Добавьте в него следующее содержимое.
#!/usr/bin/perl
my @alphanumeric = ('a'..'z', 'A'..'Z', 0..9);
my $randpassword = join '', map $alphanumeric[rand @alphanumeric], 0..8;
print "$randpassword\n"
Сохраните и закройте файл.
Теперь перейдите в папку, где вы сохранили файл, и выполните следующую команду:
perl password.pl
Замените пароль.pl на свое собственное имя файла.
Пример вывода:
pGkLC2Shz
Генерируйте пароли с помощью Perl-скрипта в Linux
Примечание. Мне не удалось найти первоначального автора этого сценария. Если кто-нибудь знает имя автора, пожалуйста, сообщите мне об этом в разделе комментариев ниже. Я добавлю имя автора в это руководство.
Обратите внимание, что вы должны либо запомнить, либо сохранить сгенерированные вами пароли в надежном месте. Если вам сложно запоминать пароли, воспользуйтесь менеджером паролей. Вот несколько менеджеров паролей, которые стоит попробовать.
- Titan - менеджер паролей командной строки для Linux
- KeeWeb - кроссплатформенный менеджер паролей с открытым исходным кодом
- Buttercup — бесплатный, безопасный и кроссплатформенный менеджер паролей
Заключение
Дело в том, что вы можете легко сгенерировать надежные пароли в Linux, но запомнить их довольно сложно. В этом случае я рекомендую вам использовать любые хорошие менеджеры паролей. Еще лучше, просто запомните пароль и удалите его из своей системы. Это намного лучше на случай, если ваша система будет скомпрометирована.