- 10 способов генерации случайного пароля в командной строке
- Генерация случайного пароля
- 5 способов сгенерировать случайный пароль в командной строке
- Проверка доступного количества битов шума в энтропийном пуле
- Использование команды cat
- Использование команды tr и перенаправления
- Использование команды dd
- Использование команды openssl
- Использование команды strings
- Утилита Pwgen
- Установка
- Базовое использование
- 8 Ways to Generate a Random Password on Linux Shell
- Generation of a password with OpenSSL
- Generation of a password using urandom
- Generation of a password using pwgen
- Generation of a password using gpg
- Generation of a password using SHA
- Generation of a password via an easy way
- Generation of a password using apg
- Generation of a password using makepasswd
- Conclusion
- Karim Buzdar
10 способов генерации случайного пароля в командной строке
Одна из очень привлекательных особеностей Linux состоит в том, что вы можете одну и ту же задачу решить сотней различных способов. Даже если речь идет о таком простом деле, как генерация случайного пароля, существует множество команд, которые решают эту задачу в командной строке. В настоящей заметке приведены 10 вариантов того, как это можно сделать.
Мы позаимствовали эти команды на сайте Command-Line Fu и протестировали их на своём Linux-компьютере, чтобы убедиться, что все они работают. Вы можете использовать по крайней мере некоторые из них и в Windows с установленным Cygwin , хотя мы и не тестировали их в этой конфигурации. Но последний вариант наверняка будет работать.
Генерация случайного пароля
Каждую из приведенных ниже команд вы можете либо модифицировать, чтобы получить пароль желаемой длины, либо можете просто использовать первые х символов вывода, если не хотите использовать очень длинный пароль. Полагаю, что вы в любом случае используете менеджер паролей наподобие LastPass , так что нет нужды зпоминать пароли.
1. В этом методе используется SHA для того, чтобы получить из текущей даты хеш-функцию, которая фильтруется с помощью base64 и затем отображаются первые 32 символа.
2. Этот метод использует встроенную функцию /dev/urandom, вывод которой фильтруется, чтобы оставить только символы, допустимые в паролях. Затем в выоде оставляются только первые 32 символа.
3. В этом случае используется случайная функция из openssl, если этот пакет установлен в вашей системе.
4. Этот вариант подобен предыдущему с urandom, но команды используются в обратном порядке. Bash — очень мощная вещь!
5. Еще один пример, в котором для фильтрации используется команда strings , которая предназначена для вывода пригодных для печати строк файла, но в этом случае обрабатывает вывод urandom .
6. А вот еще более простой вариант использования urandom .
7. В этом варианте используется очень полезная команда dd .
8. Вы можете даже создать случайный пароль, который можно набирать одной только левой рукой.
9. Если создавать пароли вам приходится часто, будет неплохой идеей написать для этого функцию. После этого вы сможете использовать randpw в любое время, как только вам потребуется создать новый пароль. Лучше всего поместить ее в ваш файл
Тот же самый прием вы можете использовать с любым из приведенных выше примеров, достаточно заменить содержимое фигурных скобок < >.
10. И, наконец, самый простой способ сгенерить пароль в командной строке. Этот способ работает в Linux, Windows с Cygwin и,вероятно, в Mac OS X. Я уверен, что некоторые люди скажут, что этот способ дает не такой случайный результат, как некоторые из предыдущих вариантов, но, честное слово, он вполне удовлетворительно работает.
Да, и этот вариант достаточно легко запоминается.
Есть и другие способы генерации случайного пароля в командной строке Linux, например, команда mkpasswd , которая предназначена для задания пароля к пользовательскому экаунту в Linux. А какой способ используете вы?
Источник
5 способов сгенерировать случайный пароль в командной строке
Оригинал: 5 Methods to Generate a Random Password from the Command Line
Автор: Steven Vona
Дата публикации: 24 февраля 2019 года
Перевод: А. Кривошей
Дата перевода: декабрь 2019 г.
Если бы это зависело от меня, я бы никогда не покидал командную строку. Я все еще использую lynx (браузер командной строки), dict (словарь командной строки) и bc (калькулятор командной строки), хотя с уменьшающейся регулярностью. Так почему бы не использовать командную строку для генерации случайных паролей?
В этом кратком мануале по Linux мы покажем вам 5 команд bash (плюс одна утилита) для быстрой генерации случайного пароля.
Большинство из этих примеров используют файл urandom в dev. Вот выдержка из справочной страницы:
Специальные символьные файлы /dev/random и /dev/urandom (присутствуют с Linux 1.3.30) предоставляют интерфейс для генератора случайных чисел ядра .
… Генератор случайных чисел собирает шум окружающей среды от драйверов устройств и других источников в пул энтропии. Генератор также сохраняет оценку количества битов шума в энтропийном пуле. Из этого энтропийного пула создаются случайные числа.
Проверка доступного количества битов шума в энтропийном пуле
Вы можете проверить доступную энтропию в большинстве систем Linux, прочитав файл /proc/sys/kernel/random/entropy_available. Это будет число в диапазоне 0-4096.
Использование команды cat
Здесь мы читаем файл urandom с помощью cat и отправляем его в tr. Команда tr удаляет все печатные символы, кроме пробелов. Затем команда head говорит команде напечатать первые 18 символов и затем остановиться.
Если вам нужен более короткий или более длинный пароль, вы можете изменить число в команде head. Если вам нужен пароль без специальных символов, вы можете изменить команду tr на:
[:alpha:] – все буквы
[:alnum:] – все буквы и цифры
Использование команды tr и перенаправления
Часто люди используют cat там, где можно обойтись без нее. Вот пример, который делает то же самое, что и в первом примере, используя для ввода файла перенаправление вместо cat.
Здесь вместо использования cat мы перенаправляем urandom прямо в tr.
Ни одна из этих команд не добавляет новую строку в конец, что приведет к выводу, подобному этому (я очистил это для удобства чтения):
Если это беспокоит вас так же, как и меня, просто передайте xargs -0 в конце:
Использование команды dd
Команда dd — это одна из тех утилит, которая, кажется, не имеет предела своей полезности. Здесь мы используем urandom в качестве входного файла для dd, а затем перенаправляем к tr, как мы делали выше.
Этот дает нам хороший чистый вывод с новой строкой.
Использование команды openssl
Я не фанат этого, но, возможно, вам понравится. Из-за кодировки base64 есть некоторые длины, которые вы не сможете выбрать. Например, я не могу сделать 18 (что мне нравится).
В Linux всегда есть способ сделать что-то. Чтобы получить длину в 18 символов, мы можем изменить ее на 32 (или 16) и вырезать первые 18 символов.
Использование команды strings
Команда strings не является одной из часто используемых команд. Здесь мы используем ее для извлечения печатных символов для urandom, затем используем tr для очистки новых строк и вывода на печать первых 18 символов.
Эта команда также не печатает новую строку, используйте трюк с xargs, приведенный выше, если это необходимо.
Утилита Pwgen
Установка
Утилита pwgen — это небольшая программа командной строки, которая генерирует пароли. У ее мало опций, но иногда меньше — лучше, чем больше. Чтобы установить pwgen в системах на основе rpm (Red Hat, CentOS, Fedora), введите команду:
Для установки в системах на базе deb (Debian, Ubuntu):
Базовое использование
Просто введите pwgen, чтобы напечатать блок паролей в столбцах на вашем экране.
Чтобы придерживаться моей темы, давайте сгенерируем пароль длиной 18 символов, включающий по крайней мере одну заглавную букву, одну строчную букву, одну цифру и один специальный символ. Мы также хотим, чтобы она печатала только один пароль.
B — не включайть в пароль неоднозначные символы.
c — включить в пароль хотя бы одну заглавную букву.
n — включить в пароль хотя бы одно число.
y — включить в пароль хотя бы один специальный символ.
18 — длина в символах.
-1 — печатать только один пароль.
Почитайте справочную страницу pwgen для получения дополнительной информации.
Другие статьи о генерации паролей в Linux, опубликованные на нашем сайте:
Источник
8 Ways to Generate a Random Password on Linux Shell
Having a strong password when authenticating to a service by username and password is very important. Sometimes, you need to protect your account or server, and try to keep your data safe and secure. It is often said that a strong password must have a minimum of 14 characters with variations like you may have lowercases/uppercases in the characters and alphabets. Mostly the long password is considered to be much more secure than a short one since it is hard to get. In this tutorial, we will see many ways to generate a strong password from Linux command line. We will have a look at many different means to create a stronger password that is secure enough, using the Linux command line. You need to generate a stronger password from the command line so, it has various different methods and utilities that are already available. We will be discussing many of the methods and you may choose any of the ways for generation of a password as per your need.
Generation of a password with OpenSSL
Several methods, exist in Linux to create and generate the passwords for Linux command line. The first one we are trying is by using OpenSSL. Following are the steps that need to be followed for this purpose.
Step 1: First of all, open Terminal by clicking on Ubuntu launcher and search for Terminal.
Step 2: Now click on the Terminal and wait for the terminal to open.
Step 3: Once the terminal is opened, you will have a screen like this:
Step 4:
The command that is used to generate a stronger password includes OpenSSL rand function. This will help us generate 14 random characters in a string. The command is “openssl rand –base64 14”.
Advertisement
The outcome will be a strong password of 14 characters as shown below.
Generation of a password using urandom
The second command which we are using to generate a password has filtered /dev/urandom output with tr. This will allow us to delete all of the unwanted characters and then help us to print the first 14 characters only.
The output of the above command is as follows:
The output has allowed us to print first 14 characters only by deleting all of the unwanted ones.
Generation of a password using pwgen
For using pwgen we need to install this tool at first. This tool will help us generate some random yet meaningless passwords. Although the passwords generated by it are random still are pronounceable. So, we will now install the tool using the following command.
Enter the credentials as asked
The installation will eventually begin. The command line will look just like the screen below.
Once the installation has been done, we will generate a random string having 14 characters in it.
The string we got randomly is this one.
Generation of a password using gpg
Gpg can also be used to generate a strong password of 14 characters. The gpg tool uses the following command to generate the 14 characters.
The outcome of this command is
And in the end, we have a password generated which is.
Generation of a password using SHA
We will use SHA in this method, we can also hash the date. It runs through the base64. As a result, we get an output as the top of the 32 characters.
Here is the outcome containing the 32 characters yet a strong password to keep the system safe.
Generation of a password via an easy way
The generation of a password is quite easy using the command line. Although it is not random still it is useful if we utilize the whole password. The easiest command for this purpose is as follows:
The outcome of the above command is a string as shown below.
And this command is very easy, and simple enough to remember.
Generation of a password using apg
APG is Automatic Password Generator, it is already installed on all Ubuntu systems. It is also an easily used utility. It helps us generate various passwords that are the random input.
In order to generate entire random passwords, we can run apg -a 1, which will give us the passwords with 8-10 random characters. The command we used for this purpose is apg –a 1. We will run and see various passwords generated in the output.
The output has many random passwords.
Generation of a password using makepasswd
“makepasswd” can also be used to generate passwords. For using this utility, we install it at first. We will use the command sudo apt-get install makepasswd.
Enter the required credentials.
On writing the credentials, the installation will begin.
Press Y to continue
Once the utility has been installed, we will write the command which is makepasswd –count NumberOfPasswords –minchars MinLengthOfPassword.
At first, we tell how many passwords we are aiming to generate and what must be the length of each of the password. Here we have asked to generate 4 passwords with length as eight for each of it.
The outcome is shown below. We have a total of 4 passwords with 8 characters in each of them.
The command is responsible for generating a list of random passwords based on the number of passwords we want to generate and the length is also defined by us.
Conclusion
In this tutorial, we have discussed many of the ways to generate the passwords from the command line of Linux. There are many methods that already exist. Few of the utilities are already present in Linux command line, while for those which are not are easily installable using the available commands. In the tutorial, we have discussed the utility openssh, urandom, pwegn, gpg, sha, date, apg, and makepasswd. All of these commands guarantee the generation of a stronger password from Linux command line and are useful for the user to maintain the security of their systems.
Karim Buzdar
About the Author: Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. You can reach Karim on LinkedIn
Источник