Поиск по сайту:
Кричащий в гневе смешон, а страшен молчащий в гневе (Абай).

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

FavoriteLoadingДобавить в избранное
12.12.2016
Как генерировать случайный пароль в оболочке Linux

Есть несколько способов генерации случайных паролей любых любых желаемых символов в Linux.

  1. PWGen

PWGen это утилита командной строки Linux, которая генерирует безопасные и человеко-запоминающиеся пароли нужного символа любого числа на одном дыхании. Для генерации 8 паролей с 10 цифрами, вы можете сделать

$ pwgen 10 8

 

Пример вывода

ouQ1e2hooB jee1o2jiPe iiF63g5ree phoo3O40ah k5e2reo8Is aiZ6iZ3kel ieb7ov6Dai si48ie5eiT

 

Для того, чтобы сделать его еще сильнее, может быть использован флаг ‘-s’, который генерирует случайные и трудно запоминающийся пароль.

$ pwgen 10 8

 

Пример вывода

4RP3k9g1KG W2cWav15mF eH3hS8KD49 bH10Zg4VtB k5Zu2m1Wea Hx5Dv5d6Gh Nfn7r7FxYH x6YfClj8W6

 

Дополнительно

Вы можете создать имя пользователя в случайном порядке с помощью командной строки утилиты gpw. Для создания 3 случайных имен пользователей из 6 букв, вы можете сделать

$ gpw 3 6</pair>
<p>Пример вывода</p>
<pre>
ttuons
ionwes
ferall

 

2. OpenSSL

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

$ openssl rand -base64 10 | cut -c -10

 

Пример вывода

nday7dwFIQ

 

3. $ RANDOM

$ RANDOM является встроенной переменной в BASH. Вы можете генерировать случайный пароль примерно так

$ echo $RANDOM$RANDOM$RANDOM | tr '[0-9]' '[a-zA-Z]' | cut -c -10

 

Пример вывода

gabsbbwhbc

 

В случае, если вы хотите создать только цифровой пароль

$ echo $RANDOM$RANDOM$RANDOM |cut -c3-12

 

Пример вывода

1227344409

 

4. bash.generate.random.alphanumeric.string.sh

Ниже сценарий написан ‘earthgecko’. Вы можете получить последнюю версию от здесь.

#!/bin/bash
# bash generate random alphanumeric string
#
 
# bash generate random 32 character alphanumeric string (upper and lowercase) and
NEW_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
 
# bash generate random 32 character alphanumeric string (lowercase only)
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
 
# Random numbers in a range, more randomly distributed than $RANDOM which is not
# very random in terms of distribution of numbers.
 
# bash generate random number between 0 and 9
cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | head --bytes 1
 
# bash generate random number between 0 and 99
NUMBER=$(cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | sed -e 's/^0*//' | head --bytes 2)
if [ "$NUMBER" == "" ]; then
  NUMBER=0
fi
 
# bash generate random number between 0 and 999
NUMBER=$(cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | sed -e 's/^0*//' | head --bytes 3)
if [ "$NUMBER" == "" ]; then
  NUMBER=0
fi

 

Читать  Как установить Vagrant на Ubuntu 20.04

Пример вывода

fEFWqyvlAbOSpp7qKjCmMfqziRuHdho6O

 

Этот скрипт генерирует случайное число из 32 символов. Для генерации случайного пароля из 10 цифр из этого сценария, вы можете сделать 2 вещи.

    • Измените сценарий и замените 32 на 10. Таким образом, сценарий сейчас выглядит примерно так
#!/bin/bash
# bash generate random alphanumeric string
#
 
# bash generate random 10 character alphanumeric string (upper and lowercase) and
NEW_UUID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)
 
# bash generate random 10 character alphanumeric string (lowercase only)
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1
 
# Random numbers in a range, more randomly distributed than $RANDOM which is not
# very random in terms of distribution of numbers.
 
# bash generate random number between 0 and 9
cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | head --bytes 1
 
# bash generate random number between 0 and 99
NUMBER=$(cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | sed -e 's/^0*//' | head --bytes 2)
if [ "$NUMBER" == "" ]; then
  NUMBER=0
fi
 
# bash generate random number between 0 and 999
NUMBER=$(cat /dev/urandom | tr -dc '0-9' | fold -w 256 | head -n 1 | sed -e 's/^0*//' | head --bytes 3)
if [ "$NUMBER" == "" ]; then
  NUMBER=0
fi

 

Пример вывода

9HZhpqWcyJ

 

    • Если не изменять сценарий, то можно вырезать из 32 символов с помощью команды ‘cut’ в Linux, чтобы получить 10 символов, примерно так
$ ./bash.generate.random.alphanumeric.string.sh  | cut -c -10

 

Читать  Выбор файловой системы для вашего сервера Linux /Unix

Пример вывода

OC9dFqwwbU

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:



Добавить комментарий

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

четыре × пять =

**ссылки nofollow

Это может быть вам интересно

Рекомендуемое
Вы никогда не думали о создании записи в блоге только…

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: