Linux сгенерировать хэш пароля

Sysadminium

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

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

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

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

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

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

Затем применим изменения и попробуем сгенерировать пароль:

$ . .bashrc ~$ genpasswd 5 Hbe7a $ genpasswd 10 PDbt1tjBg0

Используем makepasswd

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

$ sudo apt install makepasswd

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

Можете указать количество символов в пароле с помощью опции 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:

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

$ 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. Будем использовать /dev/urandom и утилиты makepasswd, pwgen

Источник

Linux сгенерировать хэш пароля

Команда mkpasswd позволяет задействовать одноименную утилиту, являющуюся надстройкой над функцией crypt() библиотеки glibc и предназначенную для генерации хэшей паролей. Утилита просто выводит хэши паролей, поэтому в случае необходимости генерации хэшей паролей пользователей системы с помощью нее администратору придется добавлять их в файл /etc/shadow самостоятельно. Разумеется, утилита поддерживает множество алгоритмов создания хэшей и может генерировать произвольные пароли в соответствии с критериями пользователя.

Примечание: утилита предустановлена в большинстве систем, тем не менее, важно знать о том, что в основанных на Debian дистрибутивах она распространяется в составе пакета ПО whois.

Базовый синтаксис команды выглядит следующим образом:

$ mkpasswd [параметры] пароль [значение-salt]

Команда может принимать пароль, значение salt, а также ряд параметров. Актуальными для обычного пользователя параметрами являются параметр -m, позволяющий выбрать алгоритм генерации хэша пароля и параметр -R, позволяющий задать число округлений.

Утилита поддерживает следующие алгоритмы генерации хэшей паролей:

Название Алгоритм
yescrypt Yescrypt
gost-yescrypt GOST Yescrypt
scrypt scrypt
bcrypt bcrypt
bcrypt-a Устаревшая версия bcrypt $2a$
sha512crypt SHA-512
sha256crypt SHA-256
sunmd5 SunMD5
md5crypt MD5
bsdicrypt Расширенный алгоритм BSDI на основе DES
descrypt Стандартный 56-битный алгоритм DES
nt NT-Hash
Читайте также:  Oracle linux install php

Наиболее безопасным и актуальным алгоритмом хэширования паролей на данный момент является алгоритм SHA-512. Этот же алгоритм используется в большинстве дистрибутивов для хэширования паролей пользователей. По умолчанию же утилита использует алгоритм Yescrypt, поэтому имеет смысл явно указывать нужный вам алгоритм.

Примеры использования

Генерация хэша пароля

Для генерации хэша пароля следует использовать утилиту mkpasswd без каких-либо параметров, кроме указания алгоритма:

$ mkpasswd -m sha512crypt Пароль: $6$tQXin86./qTbzdG6$rG6tdRjWTBAbr4tEyyrMMTDfqH1Kin8fFkxlvq.NpSkFZe9n5.V4mre.epSSqKSIMo.HG4g3ZmTFArQQ3wd8k0

Пароль запрашивается в интерактивном режиме. Сам хэш расположен после второго разделителя ($). Таким образом, после первого разделителя выводится идентификатор алгоритма шифрования SHA-512 (6), а после второго — значение salt (tQXin86./qTbzdG6). Что касается значения salt, то оно генерируется случайным образом в том случае, если пользователь его явно не указал.

Для того, чтобы сгенерировать хэш пароля с заданным значением salt, достаточно передать это значение посредством параметра -S:

$ mkpasswd -m sha512crypt -S tQXin86./qTbzdG6 Пароль: $6$tQXin86./qTbzdG6$rG6tdRjWTBAbr4tEyyrMMTDfqH1Kin8fFkxlvq.NpSkFZe9n5.V4mre.epSSqKSIMo.HG4g3ZmTFArQQ3wd8k0

В данном случае был введен идентичный пароль, а из-за того, что значение salt было также идентичным, был сгенерирован идентичный хэш. Если снова сгенерировать хэш без задания значения salt, он будет отличаться из-за вновь сгенерированного значения salt:

$ mkpasswd -m sha512crypt Пароль: $6$BB9i.6.wKiKgLqdH$wdSlPKWL8EtDtxGmk4VSi.4BWprfJFfzPWMCtynuAC4ok8Ut1XTUVdWSJZjzc4DaPQin5Sz7yLCqnbHcPnovd/

Аналогичным образом могут использоваться и иные алгоритмы генерации хэшей паролей.

Источник

Оцените статью
Adblock
detector