Поиск по сайту:

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

Нужен надежный, случайный пароль? Linux делает его невероятно простым - менеджер паролей не требуется.

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

Но в других случаях мне может понадобиться временный пароль, который не требует сохранения в менеджере паролей. Или, может быть, это постоянный пароль, но я вошел в свой рабочий стол с удаленной машины, и командная строка — единственный инструмент, который у меня есть.

Независимо от причины, в Linux есть простая команда, которая позволяет очень легко генерировать случайные пароли. Этот инструмент называется pwgen, и вот как вы его устанавливаете и используете.

Как установить pwgen

Что вам понадобится: Единственное, что вам понадобится для этого, — это дистрибутив Linux и пользователь с привилегиями sudo.

1. Установите pwgen на дистрибутивы на основе Debian или Ubuntu

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

sudo apt-get install pwgen -y

2. Как установить pwgen на дистрибутивы на основе Fedora

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

sudo dnf установить pwgen

3. Как установить pwgen на дистрибутивы на основе Arch

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

sudo pacman -S pwgen

4. Как установить pwgen на дистрибутивы на базе SUSE

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

sudo zypper install pwgen

На этом этапе приложение должно быть готово к работе.

Как использовать pwgen

1. Сгенерируйте единый пароль

Допустим, вы хотите сгенерировать один пароль длиной 16 символов. Для этого команда будет выглядеть так:

pwgen 16 1

2. Сгенерируйте три пароля

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

пвген 16 3

3. Сформируйте список паролей

Возможно, вам понадобится список паролей, каждый из которых состоит из 16 символов. Для этого выполните команду:

пвген 16

Как вы можете видеть, первый вариант сообщает pwgen, какой длины должен быть пароль, а второй вариант сообщает pwgen, сколько паролей нужно сгенерировать.

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

  • -c или --capitalize - Включите хотя бы одну заглавную букву.
  • -A или --no-capitalize - Не используйте заглавные буквы.
  • -n или --numerals - Включите хотя бы одно число.
  • -0 или --no-numerals - Не включайте числа.
  • -y или --symbols - Включает хотя бы один специальный символ.
  • -r или --remove-chars= - Удалить символы из набора символов
  • -s или --secure - Генерация абсолютно случайных паролей
  • -B или --ambiguous - Не включать неоднозначные символы.
  • -H или --sha1=путь/к/файлу[#seed] - Использовать хеш sha1 данного файла в качестве (не очень) генератора случайных чисел
  • -C - Вывод сгенерированных паролей в столбцы
  • -1 - Не выводить сгенерированные пароли в столбцы
  • -v или --no-гласные

Следует иметь в виду, что в pwgen раньше была опция --no-space, которая позволяла использовать регулярные выражения в скриптах. С тех пор эта опция устарела, поэтому написание скриптов с помощью команды pwgen стало немного сложнее, чем раньше. То, что когда-то можно было сделать с помощью нескольких строк, теперь требует гораздо более длинных скриптов и будет выглядеть примерно так:

#!/мусорная корзина/баш

# Длина пароля
PASSWORD_LENGTH=16

# Количество паролей для генерации
NUM_PASSWORDS=5

# Символы для включения (строчные, прописные, цифры, символы)
USE_LOWERCASE=true USE_UPPERCASE=true USE_DIGITS=true USE_SYMBOLS=true

# Функция генерации пароля
generate_password() {
local characters=""
if $USE_LOWERCASE; then characters+="abcdefghijklmnopqrstuvwxyz"; fi
if $USE_UPPERCASE; then characters+="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; fi
if $USE_DIGITS; then characters+="0123456789"; fi
if $USE_SYMBOLS; then characters+="!@#$%^&*()_+=-'~[]{}|; ':\",./<>?"; фи

local password=""
for i in $ (seq 1 $PASSWORD_LENGTH); do
local rand=$ (( RANDOM % $ {#characters} )) # Получить случайный индекс
local char="$ {characters:$rand:1}" # Получить символ в этом индексе
password+="$char" # Добавить к паролю
done
echo "$password"
}

# Генерируем пароли и выводим их
echo "Generated Passwords:"
for i in $ (seq 1 $NUM_PASSWORDS); do
password=$ (generate_password)
echo "$password"
done

# Пример: Храните пароли в массиве (необязательно)
password_array=()
для i in $ (seq 1 $NUM_PASSWORDS); do
password=$ (generate_password) # Регенерируйте пароли. Если вы хотите использовать первое
password_array+=("$password")
готово

# Выводить любые ошибки при генерации и хранении паролей
if [ $? -ne 0 ]; затем
выдавать "Произошла ошибка"
fi

# (Дополнительный) Пример работы с сохраненными паролями в массиве
echo "Stored in password_array:"
для пароля in "$ {password_array[@]}"; do
echo "$password"
done

Наслаждайтесь этими случайными паролями.