Pwgen — различия между версиями

Материал из Мои заметки
Перейти к: навигация, поиск
(Проверьте свой пароль)
(Вариант 2.)
Строка 75: Строка 75:
 
===Вариант 2.===
 
===Вариант 2.===
 
В командной строке:
 
В командной строке:
  echo -n 'любой_текст_который_легко_вспомнить' | md5sum | base64                  #команда
+
  echo '''-n''' 'любой_текст_который_легко_вспомнить' | md5sum | base64                  #команда
 
  Yjg2YTQ5MTAyYjA4NWE5YjRiNzY4ZWZjOGVkOGE0MDIgIC0K                                #результат
 
  Yjg2YTQ5MTAyYjA4NWE5YjRiNzY4ZWZjOGVkOGE0MDIgIC0K                                #результат
 
''Обратите внимание:'' <br>
 
''Обратите внимание:'' <br>
 
если не используется ключ '''"-n"''', то хеш будет не для пароля '''"любой_текст_который_легко_вспомнить"''', а для "'''''любой_текст_который_легко_вспомнить\n'''''''', т.к. команда '''echo''' по умолчанию добавляет перевод строки '''\n''' <br>
 
если не используется ключ '''"-n"''', то хеш будет не для пароля '''"любой_текст_который_легко_вспомнить"''', а для "'''''любой_текст_который_легко_вспомнить\n'''''''', т.к. команда '''echo''' по умолчанию добавляет перевод строки '''\n''' <br>
Нужно использовать ключ '''"-n"''', что бы не вставлялся перевод строки.  
+
Нужно использовать ключ '''"-n"''', что бы не вставлялся перевод строки.
 +
 
 
===Вариант 3.===
 
===Вариант 3.===
 
В командной строке:
 
В командной строке:

Версия 11:26, 15 августа 2023

PWGen

PWGen – это генератор паролей, удовлетворяющий самым высоким требованиям безопасности. Может создавать пароли длиной до 2048 битов, которые можно также сохранить в виде бинарного файла-ключа или в виде диска-ключа, которые можно использовать для шифрования, не оставляя следов. PWGen – бесплатная программа, распространяемая по лицензии GNU General Public License (GPL).

Установка pwgen

sudo apt-get install pwgen

Использование pwgen

Утилита pwgen генерирует случайные (сложные для запоминания) или легкие для восприятия (не такие сложные для запоминания) пароли и может использоваться в диалоговом или пакетном режимах.

По умолчанию pwgen выводит заполненный паролями экран на стандартное устройство вывода. Обычно вам это не нужно, однако может оказаться полезным, если вы (или пользователь) хотите выбрать вводимый вручную пароль для разового использования. По умолчанию при генерировании паролей pwgen будет пытаться вставлять в них прописные буквы и цифры.

Формат использования утилиты pwgen следующий:

pwgen <опции> <длина_пароля> <количество_паролей>

Опции утилиты следующие:

-1	печатать по одному паролю в строке
-c	пароль должен содержать прописную букву
-n	пароль должен содержать цифру
-0     не использовать цифры при создании пароля
-y     включить в пароль хотя бы один специальный символ
-s	случайный пароль, сложный для запоминания
-N     = количество_паролей
-C     вывод сгенерированных паролей несколькими столбиками
-B     пароль не будет содержать буквы, которые можно спутать l L i I 0 O и т.д.
-A     не включать ЗАГЛАВНЫЕ буквы
-v     генерировать случайные пароли, которые не содержат гласные или символы, которые с ними можно перепутать
-H, --sha1=/path/to/file[#seed]
Использует sha1 сумму заданного файла и, опционально, фильтр для создания пароля.
Это позволит вам вычислить тот же пароль в будущем, если вы запомните файл, фильтр и используете эту опцию pwgen.

Примеры

pwgen -H ~/your_favorite.mp3#your@email.com даст список возможных паролей для вашего pop3 аккаунта, и вы сможете запрашивать этот список снова и снова.

ОСТОРОЖНО: Пароли, сгенерированные с использованием этой опции не слишком случайны. Если вы используете эту опцию стоит быть уверенным, что злоумышленник не обладает копией файла. Также имейте в виду, что имя файла может быть легко доступно по команде: ~/.history или в файле ~/.bash_history.

Ключи можно объединять. Если мы хотим создать пароль с цифрами, большими буквами и специальными символами, можно ввести:

pwgen -ncy

Напечатать один пароль длиной в 8 символов:

pwgen 8 1
eej3eeZu

Напечатать три пароля длиной в 7 символов с обязательным использованием прописных букв:

pwgen -c 7 3
ohw4Aj7 Pei0obe gaw4De4 

Напечатать 10 паролей длиной в 8 символов с обязательным использованием прописных букв и цифр:

pwgen -c -n 8 10
zum5Shei Choo6Eih Ub5uagei Ooxu6ohs Eix9xeip iV4yoeph Io3aeGhe taiTh6ia cuere1AW phai9Pai

Pwgen определяет, вызываете ли вы ее через tty или нет. В последнем случае, если не указаны дополнительные опции, по умолчанию будет сгенерирован один пароль. Это облегчает написание сценариев в тех случаях, когда вам необходимо сохранять значения в переменных, как показано ниже:

pass=$(pwgen)
echo $pass
ohtherah

Если хотите, вы можете использовать обратные апострофы для подстановки команды – результат будет тем же:

pass=`pwgen`
echo $pass
oowahxei

Конечно, мы можем сгенерировать столько паролей, сколько захотим. В следующем примере генерируются три пароля:

pass=$(pwgen -c -n 8 3)
echo $pass
EluBie0z thohku0W Ail3fu3z

Чтобы напечатать по-настоящему произвольный пароль из восьми символов, используйте следующую команду:

pwgen -s 8 1
9bTzZxt9

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


Ещё несколько вариантов создания паролей.

Вариант 1.

В командной строке:

echo 'любой_текст_который_легко_вспомнить' | md5sum | base64                     #команда
YWRiNWM2OWYwMjAwMTFjNzQ3MGM2NThiOWEwM2ExYTYgIC0K                                 #результат

Вариант 2.

В командной строке:

echo -n 'любой_текст_который_легко_вспомнить' | md5sum | base64                  #команда
Yjg2YTQ5MTAyYjA4NWE5YjRiNzY4ZWZjOGVkOGE0MDIgIC0K                                 #результат

Обратите внимание:
если не используется ключ "-n", то хеш будет не для пароля "любой_текст_который_легко_вспомнить", а для "любой_текст_который_легко_вспомнить\n''', т.к. команда echo по умолчанию добавляет перевод строки \n
Нужно использовать ключ "-n", что бы не вставлялся перевод строки.

Вариант 3.

В командной строке:

echo -n 'любой_текст_который_легко_вспомнить' | md5sum | base64 | head -c 30     #команда
Yjg2YTQ5MTAyYjA4NWE5                                                             #результат

head -c 30 - выводит суму из первых двадцати символов

Вариант 4.

В командной строке:

echo "любой_текст_который_легко_вспомнить" | md5sum | cut -d " " -f1 | base64     #команда
YWRiNWM2OWYwMjAwMTFjNzQ3MGM2NThiOWEwM2ExYTYK                                      #результат

Вариант 5.

В командной строке:

echo "password" | md5sum | cut -d " " -f1 | base64 | tr -d "password"              #команда
Mjg2NzU1ZmFkMDQ4NjljYTUyMzMyMGFjY2UZGM2YTQK                                        #результат

Таким образом мы удаляем из результата все символы, которые содержаться в оригинальной фразе.

Вариант 6.

В командной строке:

echo "password" | sha1sum | cut -d " " -f1 | base64 | tr -d "password="           #команда
YzhmZWQMGViMmU4N2YxY2VlOGU5MGViYmU4NzBjMTkYWMzODQ4Y                               #результат

Символ "=" - это специальный суффикс, который обычно добавляется при кодировании в Base64, и я его убираю.

Вариант 7.

Использование двух ключевых фраз.
В командной строке:

echo "password" | md5sum | cut -d " " -f1 | base64 | tr -d "MySecret="           #команда
jg2NzU1ZmFkDQ4NjljYTUzGFjY2UwZG2YTQK                                             #результат

Во всех перечисленных вариантах можно заменить md5sum на sha1sum, или sha256sum, или sha512sum.

Проверьте свой пароль

Проверить насколько надёжный получился пароль можно тут