Генератор паролей Bash-скрипт
Это не редкая ситуация, когда вам нужно будет сгенерировать случайный пароль, который вы можете использовать для любой установки программного обеспечения или при регистрации на любом веб-сайте.
Есть много вариантов, как этого добиться. Вы можете использовать менеджер/хранилище паролей, где у вас часто есть возможность сгенерировать пароль случайным образом или использовать веб-сайт, который может сгенерировать пароль от вашего имени.
Вы также можете использовать Bash в своем терминале (командной строке), чтобы сгенерировать пароль, который вы сможете быстро использовать. Есть много способов добиться этого, и я обязательно расскажу о некоторых из них и предоставлю вам возможность выбрать, какой вариант наиболее соответствует вашим потребностям.
⚠️Безопасность
Этот сценарий предназначен для отработки навыков написания сценариев на bash. Вы можете весело провести время, выполняя простые проекты с помощью BASH, но безопасность – это не шутка, поэтому убедитесь, что вы не сохраняете свои пароли в виде обычного текста в локальном файле и не записываете их от руки на листе бумаги.
Я настоятельно рекомендую всем использовать безопасных и надежных поставщиков для создания и сохранения паролей.
Краткое описание сценария
Позвольте мне сначала кратко описать, что будет делать наш скрипт:
Нам нужно будет выбрать длину символов пароля при выполнении скрипта.
Затем скрипт сгенерирует 5 случайных паролей длиной, указанной на шаге 1.
Предварительные условия
Вам понадобится терминал Bash и текстовый редактор. Вы можете использовать любой текстовый редактор, например vi, vim, nano или Visual Studio Code.
Я запускаю сценарий локально на своем ноутбуке с Linux, но если вы используете ПК с Windows, вы можете подключиться по SSH к любому серверу по вашему выбору и выполнить сценарий там.
Хотя сценарий довольно прост, базовые знания сценариев BASH помогут вам лучше понять сценарий и то, как он работает.
Генерировать случайный пароль
Одним из больших преимуществ Linux является то, что вы можете делать множество вещей, используя разные методы. Когда дело доходит до генерации случайной строки символов, ситуация также не отличается.
Вы можете использовать несколько команд для создания случайной строки символов. Я расскажу о некоторых из них и приведу несколько примеров.
Использование
date
команды. Команда date выведет текущую дату и время. Однако мы также дополнительно манипулируем выводом, чтобы использовать его в качестве случайно сгенерированного пароля. Мы можем хешировать дату, используя md5, sha или просто прогнать ее через base64. Вот несколько примеров:
используя sha256sum:
используя base64:
Мы также можем использовать openssl для генерации псевдослучайных байтов и запуска вывода через base64. Пример вывода будет:
Имейте в виду, что openssl может быть не установлен в вашей системе, поэтому, вероятно, вам придется сначала установить его, чтобы использовать.
Наиболее предпочтительным способом является использование генератора псевдослучайных чисел /dev/urandom, поскольку он предназначен для большинства криптографических целей. Нам также нужно будет манипулировать выводом, используя его,
tr
чтобы перевести его. Пример команды:
С помощью этой команды мы берем вывод из /dev/urandom и преобразуем его, tr
используя все буквы и цифры, и печатаем желаемое количество символов.
Сценарий
Сначала мы начинаем сценарий с шебанга. Мы используем его, чтобы сообщить операционной системе, какой интерпретатор использовать для анализа остальной части файла.
Затем мы можем продолжить и попросить пользователя ввести некоторые данные. В этом случае мы хотели бы знать, сколько символов должно быть в пароле:
Сгенерируйте пароли, а затем распечатайте их, чтобы пользователь мог их использовать.
Полный сценарий:
Заключение
Примерно так вы можете использовать простой скрипт bash для генерации случайных паролей.
⚠️ Как уже упоминалось, обязательно используйте надежные пароли, чтобы обеспечить защиту вашей учетной записи. Также, когда это возможно, используйте двухфакторную аутентификацию, поскольку это обеспечит дополнительный уровень безопасности вашей учетной записи.
Хотя сценарий работает нормально, он ожидает, что пользователь предоставит запрошенные данные. Чтобы предотвратить любые проблемы, вам необходимо будет выполнить еще несколько предварительных проверок ввода пользователя, чтобы убедиться, что скрипт продолжит работать нормально, даже если предоставленный ввод не соответствует нашим потребностям.
Last updated