Как создать хэш пароля linux

Обновлено: 06.07.2024

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

Но существуют так называемые генераторы паролей, способные создавать красивые и безопасные пароли по своим алгоритмам. В этой статье я опишу три, на мой взгляд, лучших генераторов паролей для операционной системы Linux.

Генераторы паролей для Linux

1. pwgen

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

Утилита pwgen довольно популярная, поэтому есть в официальных репозиториях большинства дистрибутивов. Для установки в Ubuntu наберите:

sudo apt install pwgen

При запуске pwgen без параметров будет сгенерирован целый список паролей. Просто выберите понравившийся вариант, и очистите терминал чтобы никто не подсмотрел что вы выбрали. Для запуска наберите:

Как только выберете пароль используйте команду clear чтобы очистить вывод. Если вы уверены что никто не смотрит можно заставить программу генерировать только один пароль:

Для создания полностью случайного пароля используйте опцию -s:


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

Если вас не устраивает стандартная длина пароля, ее можно изменить опцией -n, генерация паролей linux длиной в десять символов:


Опция -0 - позволяет не использовать цифры, а опция -B - не использовать символы которые можно спутать при печати, например: L и 1, 0 и O.

2. makepasswd

Утилита makepasswd работает аналогично pwgen, однако она не пытается создать пароли которые легко запомнить. Все пароли генерируются случайным образом с акцентом на безопасность.

Для установки в Ubuntu откройте терминал и выполните:

sudo apt install makepasswd

Для создания одного пароля введите:


Для генерации пяти паролей, с минимальным количеством символов 10, наберите:

makepasswd --count 5 --minchars 10


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

makepasswd --string 1234567890 --chars 4


3. PasswordMaker

Программа Passwordmaker немного отличается от двух предыдущих. Она позволяет сгенерировать пароль linux на основе URL. Первоначально это было расширение для популярных браузеров Internet Explorer и Firefox и т д. Пакет passwordmaker-cli устанавливает консольную версию программы:

sudo apt install passwordmaker-cli

Для генерации пароля нужно указать url и мастер пароль. Утилита на основе этих данных создает уникальный пароль. Например:


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

Всегда держите ваши пароли в надежном месте и не используйте очевидные варианты такие как password или qwerty.





Оцените статью:

(2 оценок, среднее: 5,00 из 5)

Об авторе

7 комментариев

Себе почти всегда делаю пароли в консоли. Преимущество в том, что для этого мне не нужны никакие пакеты:
echo "mypassword" | md5sum
Чем длиннее (8 символов и более) наш "mypassword", тем безысходнее становится время его вскрытия:)
Если же возникнет опасение, что некий суперхакер возьмется за очень дОООООлгий многопоточный брутфорс моей длинной сигнатуры, то можно повторно вставить (уже ее) вместо исходного "mypassword". Приблизительное время взлома уже такой сигнатуры увеличится тогда в_несколько_порядков. При этом, у нас в запасе всегда будет изначальный пред-пароль "mypassword", по которому в консоли элементарно восстановить свой окончательный пароль в случаях его потери или "забытия":)
p.s.
При попытках хака MD5-сигнатур никогда не будет никакой гарантии получения взломщиком нашего исходного пароля. Дело в том, что алгоритм вычисления сигнатур MD5 односторонний, поэтому хакер сможет получить лишь некоторые_возможные_варианты_пароля и то, затратив на взлом месяцы/годы/века/тысячелетия, как ему повезет:)

Мысль хорошая, пожалуй, возьму на вооружение, т.к. буковки проще запоминать, а пароль из них можно и на смарте сгенерить 😉 вот только изменю чутка, чтоб пароли можно было в открытом виде хранить:
echo "mypassword" | sha512sum | md5sum
или echo "mypassword" | sha512sum | head -c 33 && echo '' или .
Взломщику останется только украсть файл с открытой частью паролей и перебрать пару сотен/тысяч комбинаций за пару-тройку часов для каждого пароля 😀

Linux хранить зашифрованные пароли пользователей, также как и другую информацию связанную с безопасностью, например сроки действия аккаунтов или паролей, в файле /etc/shadow .

Однажды у вас может возникнуть необходимость вручную отредактировать файл /etc/shadow для того, чтобы задать или изменить чей-то пароль.

В отличие от файла /etc/passwd , который могут читать все, файл /etc/shadow должен быть доступен для чтения ИСКЛЮЧИТЕЛЬНО пользователю ROOT.

Для этого вам придется сгенерировать хэш пароля в формате, который будет совмести с /etc/shadow .

Нет необходимости устанавливать дополнительные утилиты, так как это может быть легко сделано из командной строки в Linux с помощью Python.

Создать Хэш Пароля для /etc/shadow

Зашифрованные пароли в /etc/shadow хранятся в следующем формате:

$ID обозначает тип шифрования, $SALT — это случайная (до 16 символов) строка и $ENCRYPTED — хэш пароля.

Тип ХэшаIDДлина Хэша
MD5$122 символов
SHA-256$543 символов
SHA-512$686 символов

Используйте следующие команды из терминала в Linux для создания хэшированых паролей со случайной солью для /etc/shadow .

Создать MD5 Хэш пароля:

Создать SHA-256 Хэш пароля:

Создать SHA-512 Хэш пароля:

Надеюсь эти команды будут вам полезны.

Только не забудьте поменять MySecretPassword на ваш YourSecretPassword.

Как вы видите, это действительно очень легко генерировать хэши для /etc/shadow из командной строки в Linux с помощью Python.

В частности потому, что Python, по умолчанию, установлен в большинстве Linux дистрибутивах.

Узнать тип хэша

Существуют два основных параметра, которые могут помочь распознать тип используемой хэш-функции:

  • Длина ХЭШа (каждая хэш-функция имеет определенную выходную длину);
  • Используемый алфавит (есть ли английские буквы? числа 0-9 и A-F … возможно это hex? используются ли специальные символы?).

Step 1: Скачиваем последнюю версию (v1.1 на текущий момент)

Step 2: Запускаем скрипт и копируем интересующие нас ХЭШи


Мануал

Недавно на нашем сайте была написана статья о проверке надежности пароля и его оценке.

Это поможет вам проверить надежность пароля/

Мы можем вручную создать несколько паролей, которые нам нужны, но если вы хотите сгенерировать пароль для нескольких пользователей или серверов, каким будет решение?

Да, в Linux доступно множество утилит для выполнения этих требований.

Тем не менее, я собираюсь включить пять лучших генераторов паролей в эту статью.

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

Эти инструменты просты в использовании, поэтому я предпочел использовать их.

По умолчанию они генерируют надежный пароль, и если вы хотите создать надежный пароль, используйте доступные параметры.

Это поможет вам создать супер надежный пароль в следующей комбинации.

Он должен иметь длину не менее 12-15 символов, включая алфавиты (нижний и верхний регистр), цифры и специальные символы.

Эти инструменты перечислены ниже.

Как сгенерировать случайный надежный пароль в Linux с помощью команды pwgen?

Программа pwgen генерирует пароли, которые разработаны для легкого запоминания людьми, при этом будучи максимально безопасными.

Запоминаемые человеком пароли никогда не будут такими безопасными, как совершенно совершенно случайные пароли.

Используйте опцию -s для генерации совершенно случайных, трудно запоминающихся паролей.

Они должны использоваться только для машинных паролей, поскольку мы не можем запомнить.

Для системы Fedora используйте DNF для установки pwgen.

Для систем Debian / Ubuntu используйте команду APT-GET или APT для установки pwgen.

Для систем на основе Arch Linux используйте Pacman для установки pwgen.

Для систем RHEL / CentOS используйте команду YUM для установки pwgen.

Для системы openSUSE Leap используйте Zypper для установки pwgen.

Как использовать команду pwgen в Linux?

Это простой и понятный метод.

Используйте один из приведенных ниже предпочтительных примеров для вас.

По умолчанию он генерирует запоминающийся пароль.

Для этого просто запустите команду pwgen на вашем терминале.

Он генерирует 160 паролей в одном кадре.

Эти 160 паролей выводятся 20 строками и 8 столбцами.

Чтобы создать безопасный случайный пароль, используйте опцию -s с командой pwgen.

Если вы хотите создать надежные пять паролей длиной 14 символов, используйте следующий формат.

Если вы действительно хотите создать очень надежные случайные двадцать паролей, используйте следующий формат.

Если вы хотите с помощью команды openssl сгенерировать десять случайных надежных паролей из 14 символов, используйте следующий цикл for.

Как сгенерировать случайный надежный пароль в Linux с помощью команды gpg?

gpg является частью OpenPGP GNU Privacy Guard (GnuPG).

Это инструмент для предоставления услуг цифрового шифрования и подписи с использованием стандарта OpenPGP. В gpg реализовано полное управление ключами и все навороты, которых можно ожидать от полной реализации OpenPGP.

Запустите команду gpg в следующем формате, чтобы сгенерировать случайный надежный пароль из 14 символов.

Если вы хотите с помощью команды gpg сгенерировать десять случайных надежных паролей из 14 символов, воспользуйтесь следующим циклом for.

Как создать случайный надежный пароль в Linux с помощью команды mkpasswd?

mkpasswd генерирует пароли и может автоматически применять их к пользователям.

Без аргументов mkpasswd возвращает новый пароль.

Вы должны установить ожидаемый пакет, чтобы использовать команду mkpasswd.

Для системы Fedora используйте команду DNF для установки mkpasswd.

Для систем Debian / Ubuntu используйте команду APT-GET или команду APT для установки mkpasswd.

Для систем на основе Arch Linux используйте Pacman для установки mkpasswd.

Для систем RHEL / CentOS используйте команду YUM для установки mkpasswd.

Для системы openSUSE Leap используйте Zypper для установки mkpasswd.

Запустите команду mkpasswd в терминале, чтобы сгенерировать случайный пароль.

Запустите команду mkpasswd в следующем формате, чтобы сгенерировать случайный надежный пароль из 14 символов.

Если вы хотите сгенерировать десять случайных надежных паролей из 14 символов (это комбинация букв (строчных и прописных букв), числовых и специальных символов) с помощью команды mkpasswd, используйте цикл for следующим образом.

Как сгенерировать случайный надежный пароль в Linux с помощью команды makepasswd?

makepasswd генерирует настоящие случайные пароли, используя / dev / urandom, с акцентом на безопасность над произношением. Он также может шифровать незашифрованные пароли, указанные в командной строке.

Запустите команду makepasswd в терминале, чтобы сгенерировать случайный пароль.

Запустите команду makepasswd в следующем формате, чтобы сгенерировать случайный надежный пароль из 14 символов.

Запустите команду makepasswd в следующем формате, чтобы сгенерировать десять случайных надежных паролей из 14 символов.

Как создать случайный надежный пароль в Linux, используя несколько команд?

Тем не менее, если вы ищете другие варианты, вы можете использовать следующие утилиты для генерации случайного пароля в Linux.

Использование /dev/urandom: специальные символьные файлы /dev/random и /dev/ urandom (присутствующие с Linux 1.3.30) предоставляют интерфейс для генератора случайных чисел ядра.

Файл /dev/random имеет старший номер устройства 1 и младший номер устройства 8.

Файл /dev/ urandom содержит основной номер устройства 1 и младший номер устройства 9.

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

Программа sha256sum предназначена для проверки целостности данных с использованием SHA-256 (семейство SHA-2 с длиной дайджеста 256 бит).

Использование sha1pass: sha1pass создает хэш пароля SHA1.

При отсутствии значения соли в командной строке будет сгенерирован случайный вектор соли.

Оригинал: 4 Easy Ways To Generate A Strong Password In Linux
Автор: SK
Дата публикации: 4 ноября 2016 года
Перевод: А. Кривошей
Дата перевода: октябрь 2017 г.

Во всех публикациях о компьютерной безопасности всегда подчеркивается необходимость использования сильных паролей. Вы можете задаться вопросом, как выглядит надежный пароль и как его создать. Мы предлагаем рассмотреть 4 простых способа генерации надежного пароля в Linux. Конечно, есть много бесплатных инструментов и способов решения этой задачи, однако я считаю, что предлагаемые нами методы наиболее просты и понятны. Давайте начнем.

1. Создание надежного пароля в Linux с помощью OpenSSL

OpenSSL доступен для всех Unix-подобных систем, Solaris, Mac OS X и Windows.
Чтобы создать случайный пароль с помощью OpenSSL, запустите свой терминал и выполните следующую команду:

Здесь строка '-base64' гарантирует, что пароль можно будет набрать на клавиатуре.

Создание пароля с помощью OpenSSL

Вышеприведенная команда генерирует случайный и надежный пароль длиной 14 символов. Помните, что всегда рекомендуется генерировать пароль длиной не менее 14 символов. Конечно, с помощью openssl вы можете генерировать пароль любой длины.
Более детально применение openssl можно изучить, прочитав man-страницу:

2. Создание надежного пароля в Linux с помощью Pwgenpwgen

Pwgenpwgen - простая, но полезная утилита командной строки для генерации случайных и надежных паролей в считанные секунды. Он создает безопасные пароли, которые легко запомнить человеку. Pwgenpwgen доступен в большинстве Unix-подобных операционных систем.

Чтобы установить pwgen в системах на основе Debian, выполните команду:

В системах на базе RPM:

В системах на базе Arch:

После установки pwgen создать случайный и надежный пароль длиной 14 букв можно с помощью команды:

Создание пароля с помощью pwgen

Приведенная выше команда создаст только один пароль длиной 14 символов. Чтобы создать 2 разных пароля длиной 14 символов, выполните:

Чтобы собрать 100 разных (не обязательно) паролей длиной 14 символов, выполните:

Создание 100 паролей

Чтобы включить как минимум 1 число в пароль:

Еще несколько полезных опций команды pwgen:

3. Создание надежного пароля в Linux с помощью GPG

GPG (GnuPG или GNU Privacy Guard), это бесплатная утилита командной строки и замена криптографического программного обеспечения Symantec PGP. Он доступен для Unix-подобных операционных систем, Microsoft Windows и Android.

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

Создание пароля с помощью GPG

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

4. Создание надежного пароля в Linux с помощью Perl

Perl доступен в репозиториях большинства дистрибутива Linux. Установите его с помощью диспетчера пакетов.
Например, для установки Perl на системах на основе Debian:

Чтобы установить Perl в системах на основе RPM, выполните:

В системах на базе Arch:

После установки Perl создайте файл:

Добавьте в него следующее содержимое.

Создание скрипта

Сохраните и закройте файл.
Теперь перейдите в папку, где вы сохранили файл, и выполните следующую команду:

Замените password.pl именем своего файла.

Создание пароля с помощью Perl

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

Обратите внимание, что вы должны запомнить или сохранить созданные вами пароли в безопасном месте. Я рекомендую вам запомнить пароль и удалить его из системы. Это намного безопасней в случае, если ваша система будет скомпрометирована.

Читайте также: