В Ubuntu 24.04 есть всё необходимое для генерации паролей. Перед вами обзор openssl rand, pwgen, gpg --gen-random, /dev/urandom, с которыми можно создавать надёжные криптографически безопасные комбинации без специальных приложений.
Введение

Надёжные пароли остаются основой цифровой безопасности. Однако для генерации стойких паролей вовсе не обязательно устанавливать отдельные приложения, в Ubuntu 24.04 уже есть всё необходимое — прямо из коробки.
В этой статье мы подробно рассмотрим встроенные и базовые утилиты, с помощью которых можно создавать надёжные пароли на Ubuntu 24.04, разберём их преимущества, ограничения и покажем, как генерировать пароли нужной длины и сложности.
Мы приведём практические примеры генерации паролей для разных сценариев — от учётных записей пользователей до защиты доступа к админ-панели VPS. Такой подход поможет вам не только понять принципы работы инструментов, но и сразу применить их для повышения безопасности своих систем.
Почему встроенные средства — это важно
Когда речь идёт о сервере, скрипте начальной инициализации или CI/CD-пайплайне, надёжность и предсказуемость важнее всего. Использование встроенных или простых базовых утилит даёт уверенность в том, что генерация сработает в любом окружении — без дополнительных зависимостей, без доступа к GUI и без подключения к Интернету.
Рассмотрим все доступные инструменты для генерации паролей, работающие из консоли.
openssl rand
OpenSSL — это стандартный криптографический пакет, присутствующий во всех версиях Ubuntu. Его команда openssl rand позволяет получить случайные байты и вывести их в кодировке base64 (результат состоит из 64 различных символов: A-Z, a-z, цифры 0-9 и дополнительные символы) или hex (из 16 символов: цифры от 0 до 9 и буквы от A до F). Это один из самых надёжных способов получить случайный пароль.
Пример генерации 16 байт в формате base64:
openssl rand -base64 16
Такой вызов создаст строку длиной около 22 символов (4*n/3, где n — байты). Для генерации более длинного пароля укажите большее количество байт:
openssl rand -base64 32
Если необходимо исключить спецсимволы (иногда запрещены в политике паролей), используйте -hex:
openssl rand -hex 24
Опции -base64 и -hex управляют кодировкой вывода. Число после них — это количество байт исходных случайных данных, а не длина итоговой строки.
Плюсы метода — используется криптографически безопасный генератор, который работает везде, где есть OpenSSL. Но сгенерированные им пароли не всегда удобно вводить вручную.
pwgen
Утилита pwgen — один из старейших генераторов паролей в Linux, его пароли могут включать буквы (заглавные и строчные), цифры и символы. Установка на Ubuntu 24.04 проста:
sudo apt install pwgen
Синтаксис команды:
pwgen <параметры> <длина> <количество>
По умолчанию (без опций) она создаёт легко читаемые пароли (псевдослова) из 8 символов. Чтобы получить пароль большей длины, достаточно указать нужное число символов:
pwgen 16
Для создания криптостойких паролей с использованием случайных символов нужен флаг -s (secure, использует /dev/urandom), например:
pwgen -s 20 1
Другие полезные флаги:
- -y — добавляет хотя бы один специальный символ;
- -r — исключает использование спецсимволов;
- -r <символ> или --remove-chars=<символ> — исключает конкретный символ;
- -n — обязательно включает минимум одну цифру;
- -0 — исключает использование цифр;
- -c — включает хотя бы одну заглавную букву;
- -A — исключает заглавные буквы;
- -1 — выводит по одному паролю на строку;
- -B — исключает неоднозначные символы.
Пример более надёжной генерации:
pwgen -s -y -1 24 5
Утилита создаст 5 надёжных паролей по 24 символа каждый.
Основные плюсы pwgen — гибкость и простота: её легко настроить и она подходит для генерации паролей из терминала или в скриптах. Единственный минус — по умолчанию она создаёт читаемые и небезопасные с криптографической точки зрения псевдослова.
gpg --gen-random
gpg (GNU Privacy Guard, или GnuPG) — это инструмент для шифрования и управления ключами. Помимо прочего, он может выдавать случайные данные на основе внутреннего генератора.
Пример генерации 16 байт в base64:
gpg --gen-random --armor 2 16
Здесь:
- --gen-random — активирует генератор случайных байтов;
- --armor (или -a)— выводит результат в кодировке base64;
- 2 — уровень надёжности генератора (0 — слабый, 2 — самый надёжный, использует в качестве источника энтропии /dev/random);
- 16 — количество байт.
Для генерации надёжных паролей подходит только уровень 2 и длина от 24 байт:
gpg --gen-random --armor 2 24
Главное преимущество gpg --gen-random — его криптографическая надёжность. Однако у метода есть и ограничение: скорость генерации. Поскольку уровень 2 требует реальной, а не псевдослучайной энтропии, процесс может быть медленнее, чем у openssl rand или /dev/urandom, особенно если в системе недостаточно накопленных энтропийных событий (движение мыши, клавиатура, сетевая активность). На серверах без интерактивных действий это может привести к заметным задержкам.
/dev/urandom + tr и head
/dev/urandom — надёжный источник энтропии в Unix-подобных системах. В связке с утилитами tr (translate) и head (вывод начала потока) его используют для создания паролей непосредственно в командной строке. Этот метод генерации паролей хорошо показал себя в условиях ограниченных ресурсов — например, в аварийных средах (в режиме восстановления), на серверах без графического интерфейса или в embedded-системах, где установка дополнительных пакетов невозможна.
Чтение байтов из /dev/urandom и отбор допустимых символов с помощью tr:
tr -dc 'A-Za-z0-9_@#%!' </dev/urandom | head -c 20 ; echo
Если нужен пароль строго из букв и цифр:
tr -dc 'A-Za-z0-9' </dev/urandom | head -c 32 ; echo
Здесь:
- /dev/urandom — генерирует непрерывный поток случайных байтов;
- tr -dc — удаляет (-d) все символы, не входящие в указанный набор (-c);
- head -c N — заканчивает считывание после N символов, формируя пароль нужной длины.
Для упрощения можно использовать встроенную кодировку base64, которая преобразует бинарные данные в строку из символов A-Z, a-z, 0-9, +, / и =:
head -c 24 /dev/urandom | base64 | tr -d '\n=' | head -c 32 ; echo
Этот метод работает в любой POSIX-совместимой среде и хорошо подходит для скриптов массовой генерации сервисных аккаунтов, работы в аварийных средах и создания технических паролей (API-ключи, БД), где важна машинная обработка. Но для портативности (если скрипт должен работать и на других ОС) предпочтительнее gpg --gen-random 2.
uuidgen, sha, date
uuidgen, sha256sum и date также подойдут для массового создания временных учётных данных — если пароль можно построить на основе шаблона. Этот подход позволяет быстро генерировать псевдослучайные строки без внешних зависимостей, что удобно для CI/CD-пайплайнов, тестовых сред или внутренних служебных скриптов.
Примеры:
uuidgen | sha256sum | cut -d' ' -f1 | head -c 20 ; echo
Или:
date +%s | sha256sum | base64 | head -c 20 ; echo
Метод основан на преобразовании детерминированных входных данных в псевдо-случайные строки через криптографические хеш-функции (SHA-256). Однако его безопасность напрямую зависит от энтропии исходного материала.
Какой инструмент выбрать
Если вы работаете вручную и хотите получить сильный пароль используйте openssl rand -base64 32 или pwgen -s -y -1 24 1, если предпочитаете читаемость.
Если вы автоматизируете создание пользователей или сервисных конфигураций, то встраивайте tr -dc или openssl в скрипты.
Для генерации токенов и ключей подойдут gpg --gen-random или openssl rand — в зависимости от контекста.
Заключение
Ubuntu 24.04 имеет достаточный набор инструментов для безопасной генерации паролей. Независимо от того, работаете ли вы на локальной машине, в облаке, в контейнере или на физическом сервере — на этой ОС уже есть всё необходимое. Использование встроенных средств даёт надёжность, предсказуемость и безопасность, особенно если вы дополняете их менеджером паролей и общей политикой безопасного хранения.
Помните, что просто сгенерировать надёжный пароль — это только часть дела. Важно использовать его правильно: не повторять, хранить в защищённом виде, не вставлять в скрипты напрямую и обновлять при необходимости.
Читайте в блоге:
- Как хранить пароли на Windows Server без дыр в безопасности
- Как автоматизировать настройку WordPress-сайтов в Nginx с помощью include
- Настройка аутентификации SSH по аппаратному токену на Ubuntu 24.04