Поиск по сайту:

Как создать надежный пароль в 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, но запомнить их довольно сложно. В этом случае я рекомендую вам использовать любые хорошие менеджеры паролей. Еще лучше, просто запомните пароль и удалите его из своей системы. Это намного лучше на случай, если ваша система будет скомпрометирована.

Статьи по данной тематике