Рассмотрим, как можно сгенерировать случайный пароль в командной строке Linux. Будем использовать /dev/urandom и утилиты makepasswd, pwgen.


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

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

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

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

Вы можете сделать 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 5
Hbe7a
$ genpasswd 10
PDbt1tjBg0

Используем 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.

Используем pwgen

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

$ sudo apt install pwgen

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

$ pwgen
Xu6Phei7 Ree2ud9e ohphah8I iiZ8Efoo foG0moh3 aSho2neL Phero4Ud thiCh9ei
uvaeChu0 eeCie5Um Wovie0do Eibuo3Ou Sai1Ovah po3OhT9j XeYei9ei eiQu2mai
mahSh9im sheyo0Ki ierooGh0 quai8Ieb aphe6Koo boh3uL8a daiR6ahy Laek9liy
ooW9aedu Lei9aixe Doojah8k eeZie1ko ahp0Jab7 hieWe4io quohc1Qu zai4Aiwi
boo1uDah ail1Ooth ohf8Boyo ip1mie4H Aijahth8 uaCh2De7 sahvooY2 Phie7eey
si6Ahsog eit5Nea7 zuChoc9e Ohc1ui7c thae8aeG Nai5ahng ooLai8ei tohh2IFa
tu2Ooy8o phe3eZan deequoG8 uo0TohH5 ki2vai6I ie7eiLoo eingai0R Jieque7s
yeS0eChe OyahKoh3 eiy4OiVo yae5Aeng xogi8Uti ohfieGh6 roh1uXae saiw6aTh
Phem2iuk theiN6ua Ieraen2i Aiz4tool Eex1oeCh gohTei8a lie3Esee Bupooc3t
Xee9aing ieh1Ooh7 vai9Noth elu5ouT8 ir9aeGhi Zaew7oim mooqu2Er ze6Zoo7i
thohf1Ee oshaeP4e aifue8Ch Aphe7ied No5Chein Faichah9 uoY3Zood Daing2sh
Ohh7liG7 aiZ3eque nai9Sovu phah7Ush eve0keeX Hix9aiqu quei7Lee evi4ifoJ
Toap2ohf agh7Aev0 Ope7phae ShahWi4e Thichie5 aNohf2de Oogoa5Oh jieR6cua
Lucha1Ov hoh8Loo0 eiW1kae2 PaiY9aeR Cuku0she Eth3yooy Aiv7emix Iez5Iim7
taireX1u AhTh5yuL EiS4Hah8 eesie1Ge TaiGh6ae beuZi9ae utha7aiM iso7Pohc
ameZee1d eud2deeS ooH3Nie8 sehei5Oo hoh2eXom daeR3quo Mo0aewaz chopeeB4
dee6OoTh heeSaiT5 aeQuiR8i ohl8eu7U yoh6Idie aoX7oa0y Thae3aeL UC0jo2Pu
to9oFeer ieGei0aa OoPo8oki neGoub5I iej6ieDi aey9aeDu Lohn5aed Fie8euNg
see0tooM Voo1oowe zie7eiNa heCaeh2U ait4VaiD Queis1ve Chese9ae Qui6OoXi
Uo6moong nahShei2 Ienee9Ee Tahniuv2 Ue0aisee jugeP0ey quaer1Ow Foafei1i

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

$ pwgen -N 3 -n 5
aeCo2 Le7oy uv6Oh

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

$ pwgen -N 3 -n 5 -s
fY60V y6FIU 9XEt4

Я не заметил разницу в использовании опции -s, но в инструкции написано, что без этой опции пароль легче подобрать.

Итог

Теперь вы знаете 3 способа генерации случайных паролей в терминале Linux. Если вы работаете за компьютером и вам нужно просто сгенерировать пароль, то удобнее использовать какой-нибудь графический инструмент. А показанные здесь способы можно использовать в скриптах.

Например, вы можете создать пользователя со случайным паролем, или поменять пароль пользователю и выслать его на почту. Для этого просто сохраните пароль в переменной, выполните необходимые действия используя эту переменную и очистите её. При этом, в истории команд, вы не найдёте сгенерированный пароль.

Ссылки на источники:

Другие статьи по работе в Linux терминале доступны здесь.

Сводка
Как сгенерировать пароль в терминале Linux
Имя статьи
Как сгенерировать пароль в терминале Linux
Описание
Рассмотрим, как можно сгенерировать случайный пароль в командной строке Linux. Будем использовать /dev/urandom и утилиты makepasswd, pwgen

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *