Главная » Linux Ubuntu/Mint » Настройки Ubuntu для VDS/VPS » Генерируем надёжный пароль в терминале Linux

📑 Генерируем надёжный пароль в терминале Linux

В этой статье мы рассмотрим три способа генерации паролей в терминале Linux: с использованием /dev/urandom, makepasswd и pwgen. Каждый из этих способов имеет свои преимущества и недостатки. Выбор конкретного способа зависит от ваших потребностей и предпочтений. Для генерации случайных и безопасных паролей рекомендуется использовать /dev/urandom или pwgen с опцией -s. makepasswd может быть полезен для генерации зашифрованных паролей, но следует учитывать, что он использует устаревший алгоритм MD5.

Используем /dev/urandom

При чтении устройство /dev/urandom возвращает бесконечный поток случайных байтов. Этот поток можно отфильтровать с помощью утилиты tr, чтобы оставить только нужные символы. Затем вывод передается команде xargs, которая по умолчанию выполняет команду echo и передает ей все, что было прочитано из стандартного ввода. А с помощью утилиты head можно указать необходимое количество символов в пароле.

То есть, сгенерировать пароль в Linux поможет следующая команда:

tr -dc A-Za-z0-9_ < /dev/urandom | head -c 10 | xargs

Пример вывода:

AurTdatFbw

Объяснение команды:

  • tr -dc A-Za-z0-9_: Утилита tr удаляет (-d) все символы, кроме указанных (-c). В данном случае, остаются только буквы верхнего и нижнего регистра, цифры и символ подчеркивания.
  • < /dev/urandom: Перенаправляет вывод устройства /dev/urandom на стандартный ввод команды tr.
  • head -c 10: Утилита head выводит первые 10 байт (-c) из стандартного ввода.
  • xargs: Утилита xargs преобразует стандартный ввод в аргументы для команды. По умолчанию выполняет команду echo.

Вы можете создать bash-функцию и записать её в ваш файл .bashrc для более удобного использования:

nano .bashrc

Добавьте в файл следующую функцию:

genpasswd() {
local l=$1
[ "$l" == "" ] && l=16
tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs
}

Сохраните файл и примените изменения:

. .bashrc

Теперь вы можете генерировать пароли, используя команду genpasswd:

$ genpasswd 5

Пример вывода:

Hbe7a

genpasswd 10

Пример вывода:

PDbt1tjBg0

Объяснение функции:

  • genpasswd() { … }: Определяет bash-функцию с именем genpasswd.
  • local l=$1: Присваивает локальной переменной l значение первого аргумента, переданного функции.
  • [ «$l» == «» ] && l=16: Если первый аргумент не указан, присваивает переменной l значение 16 (длина пароля по умолчанию).
  • tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs: Генерирует пароль длиной l символов, используя описанную выше команду.

Используем makepasswd

Утилита makepasswd также может помочь сгенерировать пароль в Linux. Она также использует /dev/urandom, чтобы создавать случайные пароли. Вы можете установить её с помощью apt:

sudo apt install makepasswd

Просто выполните эту команду без параметров, чтобы получить случайный пароль:

makepasswd

Пример вывода:

5q6m4jMHJ

Вы можете указать количество символов в пароле с помощью опции —chars и можете создать несколько паролей с помощью опции —count:

makepasswd --chars 4 --count 3

Пример вывода:

1d65
R5Xe
Lhes

Можно создать пароли и сразу вывести их зашифрованный хеш с помощью опции —crypt-md5:

makepasswd --chars 4 --count 3 --crypt-md5

Пример вывода:

DWBN $1$awZ5uNo/$r50RTWsihcMKEVQzoDyoZ1
xLN7 $1$h4ThtOu1$Bsmqhr/Tq/IIdGPtAVGda.
A2R2 $1$bss49Rj7$y.9nAbyr749N.eYRUF155.

Объяснение опций:

  • —chars: Указывает длину пароля.
  • —count: Указывает количество паролей, которые нужно сгенерировать.
  • —crypt-md5: Шифрует пароль с использованием алгоритма MD5. Важно: MD5 считается устаревшим и небезопасным. Рекомендуется использовать более современные алгоритмы, такие как SHA-256 или SHA-512. Однако, makepasswd не предоставляет возможности выбора алгоритма.

Используем pwgen

Утилита pwgen генерирует легко запоминаемые пароли, но также может генерировать случайные пароли. Устанавливается она также с помощью apt:

sudo apt install pwgen

Если выполнить её без опций, то вы увидите список из легко запоминаемых паролей:

pwgen

Пример вывода:

Xu6Phei7 Ree2ud9e ohphah8I iiZ8Efoo foG0moh3 aSho2neL Phero4Ud thiCh9ei
uvaeChu0 eeCie5Um Wovie0do Eibuo3Ou Sai1Ovah po3OhT9j XeYei9ei eiQu2mai
....

Вы можете указать количество необходимых паролей с помощью опции -N и указать количество символов в пароле с помощью опции -n:

pwgen -N 3 -n 5

Пример вывода:

aeCo2 Le7oy uv6Oh

Существует также опция -s чтобы создавать более сложные пароли (их сложнее запомнить и подобрать):

pwgen -N 3 -n 5 -s

Пример вывода:

fY60V y6FIU 9XEt4

Объяснение опций:

  • -N: Указывает количество паролей, которые нужно сгенерировать.
  • -n: Указывает длину пароля.
  • -s: Генерирует более сложные пароли (случайные символы).

Хотя в инструкции написано, что без опции -s пароль легче подобрать, на практике разница может быть незначительной. Рекомендуется всегда использовать опцию -s для генерации более безопасных паролей.

 

 

При перепечатке просьба вставлять активные ссылки на oslogic.ru
Copyright oslogic.ru © 2025 . All Rights Reserved.