как спрятать пароль в скрипте

Защита и шифрование паролей в скриптах PowerShell

Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

Безопасно можно запросить от пользователя ввести пароль в скрипте интерактивно с помощью командлета Get-Credential. Например, запросим имя и пароль пользователя и сохраним его в объекте типа PSCredential:

как спрятать пароль в скрипте. powershell get credential. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-powershell get credential. картинка как спрятать пароль в скрипте. картинка powershell get credential. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

При обращении к свойствам переменной можно узнать имя ползователя, который был указан.

Но при попытке вывести пароль, вернется текст System.Security.SecureString, т.к. пароль теперь хранится в виде SecureString.

как спрятать пароль в скрипте. parol hranitsya v system security securestring. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-parol hranitsya v system security securestring. картинка как спрятать пароль в скрипте. картинка parol hranitsya v system security securestring. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

Также для запроса пароля пользователя можно использовать команлет Read-Host с атрибутом AsSecureString:
$pass = Read-Host «Введите пароль» –AsSecureString

как спрятать пароль в скрипте. read host assecurestring. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-read host assecurestring. картинка как спрятать пароль в скрипте. картинка read host assecurestring. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

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

В этом случае удобнее зашифровать данные учетной записи (имя и пароль) и сохранить их в зашифрованном виде в текстовый файл на диске или использовать непосредственно в скрипте.

Итак, с помощью комадлета ConvertFrom-SecureString можно преобразовать пароль из формата SecureString в шифрованную строку (шифрование выполняется с помощью Windows Data Protection API — DPAPI). Вы можете вывести шифрованный пароль на экран или сохранить в файл:

$Cred.Password| ConvertFrom-SecureString | Set-Content c:\ps\passfile.txt

как спрятать пароль в скрипте. convertfrom securestring. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-convertfrom securestring. картинка как спрятать пароль в скрипте. картинка convertfrom securestring. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

Чтобы использовать зашифрованный пароль из файла нужно выполнить обратное преобразование в формат Securestring с помощью командлета ConvertTo-SecureString:

как спрятать пароль в скрипте. poluchenie parolya iz fajla s pomoshyu convertto secu. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-poluchenie parolya iz fajla s pomoshyu convertto secu. картинка как спрятать пароль в скрипте. картинка poluchenie parolya iz fajla s pomoshyu convertto secu. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

как спрятать пароль в скрипте. null password. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-null password. картинка как спрятать пароль в скрипте. картинка null password. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

Таким образом, если скрипт будет запускаться под другим (сервисным) аккаунтом или на другом компьютере, необходимо использовать другой механизм шифрования, отдичный от DPAPI. Внешний ключ шифрования можно указать с помощью параметров –Key или –SecureKey.

Например, вы можете с помощью PowerShell сгенерировать 256 битный AES ключ, который можно использовать для расшифровки файла. Сохраним ключ в текстовый файл password_aes.key.

$AESKey = New-Object Byte[] 32
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($AESKey)
$AESKey | out-file C:\ps\password_aes.key

как спрятать пароль в скрипте. generaciya aes klyucha dlya shifrovaniya parolya. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-generaciya aes klyucha dlya shifrovaniya parolya. картинка как спрятать пароль в скрипте. картинка generaciya aes klyucha dlya shifrovaniya parolya. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

Теперь можно сохранить пароль в файл с помощью данного ключа:

как спрятать пароль в скрипте. zashifrovannyj fajl s parolem powershell. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-zashifrovannyj fajl s parolem powershell. картинка как спрятать пароль в скрипте. картинка zashifrovannyj fajl s parolem powershell. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

Таким образом у нас получилось два файла: файл с зашифрованным паролем (passfile.txt) и файл с ключом шифрования (password_aes.key).

Их можно перенести на другой компьютер и попытаться из PowerShell получить пароль из файла (можно разместить файл ключа в сетевом каталоге)

как спрятать пароль в скрипте. convertto securestring key. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-convertto securestring key. картинка как спрятать пароль в скрипте. картинка convertto securestring key. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

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

как спрятать пароль в скрипте. prostoj klyuch aes. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-prostoj klyuch aes. картинка как спрятать пароль в скрипте. картинка prostoj klyuch aes. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

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

И напоследок, самый печальный момент. Пароль из объекта PSCredential в открытом виде вытаскивается очень просто:

как спрятать пароль в скрипте. dollarcred getnetworkcredential password. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-dollarcred getnetworkcredential password. картинка как спрятать пароль в скрипте. картинка dollarcred getnetworkcredential password. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

Можно извлечь пароль в текстовом виде и из SecureString:

как спрятать пароль в скрипте. securestringtobstr poluchenie parolya v otkrytom vid. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-securestringtobstr poluchenie parolya v otkrytom vid. картинка как спрятать пароль в скрипте. картинка securestringtobstr poluchenie parolya v otkrytom vid. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

Как вы понимаете, именно поэтому нежелательно сохранять пароли привилегированных учетных записей, таких как Domain Admins где бы то ни было кроме DC.

Источник

Как не продолбать пароли в Python скриптах

как спрятать пароль в скрипте. image loader. как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-image loader. картинка как спрятать пароль в скрипте. картинка image loader. Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

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

Как делать не надо

Всем знакома концепция «временного скриптика». Вот буквально только данные по-быстрому распарсить из базы и удалить. А потом внезапно выясняется, что скрипт уже из dev-зоны мигрировал куда-то в продакшен. И тут начинают всплывать неприятные сюрпризы от изначальной «одноразовости».

Чаще всего встречается вариант в стиле:

Проблема в том, что здесь пароль светится в открытом виде и достаточно просто обнаруживается среди залежей старых скриптов автоматическим поиском. Чуть более сложный вариант идет по пути security through obscurity, с хранением пароля в зашифрованном виде прямо в коде. При этом расшифровка обратно должна выполняться тут же, иначе клиент не сможет предъявить этот пароль серверной стороне. Такой способ спасет максимум от случайного взгляда, но любой серьезный разбор кода вручную позволит без проблем вытащить секретный ключ. Код ниже спасет только от таких «shoulder surfers»:

Самый неприятный сценарий — использования систем контроля версии, например git, для таких файлов с чувствительной информацией. Даже, если автор решит вычистить все пароли — они останутся в истории репозитория. Фактически, если вы запушили в git файл с секретными данными — можете автоматически считать их скомпрометированными и немедленно начинать процедуру замены всех затронутых credentials.

Использование системного хранилища

Есть крутейшая библиотека keyring. Основной принцип работы строится на том, что у каждого пользователя ОС есть свое зашифрованное хранилище, доступ к которому возможен только после входа пользователя в систему. Она кроссплатформенная и будет использовать тот бэкенд для хранения паролей, который предоставлен операционной системой:

Сравним сложность атаки

При хранении пароля непосредственно в скрипте нужно:

Пример использования

Безопасный ввод пароля

Еще один частый вариант утечки секретных паролей — история командной строки. Использование стандартного input здесь недопустимо:

В примере выше я уже упоминал библиотеку getpass:

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

Немного о Powershell

Для Powershell правильным вариантом является использование штатного Windows Credential Locker.
Реализуется это модулем CredentialManager.

Источник

Скрыть / зашифровать пароль в файле bash, чтобы случайно не видеть его

Извините, если это спрашивали раньше, я проверил, но ничего не смог найти.

есть ли функция в Unix для шифрования и расшифровать пароль в пакетном файле, чтобы я мог передать его в некоторые другие команды в файле bash?

Я понимаю, что это не обеспечивает реальной безопасности, это больше, чтобы остановить кого-то случайно увидеть пароль, если они смотрят на скрипт через плечо:)

Я бегу на Red Hat 5.3.

у меня есть скрипт, который делает что-то похожее на это:

и я хотел бы сделать что-то вроде этого:

это никоим образом не защищает пароль, но мешает кому-то случайно увидеть его через мое плечо.

8 ответов

OpenSSL предоставляет passwd команда, которая может шифровать, но не расшифровывает, поскольку она делает только хэши. Вы также можете скачать что-то вроде aesutil таким образом, вы можете использовать способную и известную процедуру симметричного шифрования.

я использовал base64 для преодоления той же проблемы, т. е. люди могут видеть мой пароль через плечо.

в моем скрипте оболочки я использовал команду «source», чтобы получить файл, а затем декодировать его для использования в моем скрипте.

надеюсь, это поможет.

в вашем скрипте вам просто нужно source encpass.sh а затем вызовите метод get_secret. Например:

вставка кода для encpass.sh для облегчения видимости:

сначала зашифруйте свой пароль:

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

это будет распечатывать зашифрованный пароль gpg в стандартном выходе. Скопируйте все сообщение и добавьте это в скрипт:

таким образом, только если usb установлен в системе пароль может быть расшифрован. Конечно, вы также можете импортировать ключи в систему (менее безопасный или вообще без безопасности) или защитить закрытый ключ паролем (так что это не может быть автоматизированный.)

существует более удобный способ хранения паролей в скрипте, но вам придется зашифровать и запутать скрипт, чтобы его нельзя было прочитать. Для того, чтобы успешно зашифровать и запутать сценарий оболочки и на самом деле этот сценарий быть исполняемым, попробуйте скопировать и вставить его здесь:

на вышеуказанной странице все, что вам нужно сделать, это отправить свой скрипт и дать скрипту собственное имя, затем нажмите кнопку загрузки. Для вас будет создан zip-файл. Щелкните правой кнопкой мыши ссылку для загрузки и скопируйте предоставленный URL-адрес. Затем перейдите в поле UNIX и выполните следующие действия.

установка:

что вышеуказанная команда установки сделает для вас:

Примечание:

Это не работает для интерактивные сценарии, которые запрашивают и ждут ответа пользователя. Значения, ожидаемые от пользователя, должны быть жестко закодированы в сценарий. Шифрование гарантирует, что никто не может видеть эти значения, поэтому вам не нужно беспокоиться об этом.

отношения:

решение, предоставленное в этом сообщении, отвечает на вашу проблему в том смысле, что оно шифрует фактический скрипт, содержащий пароль, который вы хотели зашифровать. Ты должен уйти. пароль как есть (незашифрованный), но сценарий, в котором пароль находится, настолько глубоко запутан и зашифрован, что вы можете быть уверены, что никто не сможет его увидеть. А если будут предприняты попытки совать нос в скрипт, вы получите по электронной почте уведомления о них.

Источник

Безопасный ввод и сохранение зашифрованных паролей в конфигах Linux: пишем скрипт на Python

Как вывести свою систему на новый уровень безопасности с модулями python-gnupg и getpass4.

как спрятать пароль в скрипте. . как спрятать пароль в скрипте фото. как спрятать пароль в скрипте-. картинка как спрятать пароль в скрипте. картинка . Администраторы часто при написании сценариев автоматизации на PowerShell сохраняют пароли непосредственно в теле PoSh скрипта. Как вы понимаете, это крайне небезопасно при использовании в продуктивной среде, т.к. пароль в открытом виде могут увидеть другие пользователи сервера или администраторы. Поэтому желательно использовать более безопасный метод использования паролей в скриптах PowerShell, или шифровать пароли, если нельзя пользоваться интерактивным вводом.

Изображение : freeGraphicToday, via Pixabay. CC0.

В условиях растущих требований к безопасности создание и хранение паролей может вызвать вопросы не только для пользователей, но и у разработчиков и системных администраторов. Специалисты и другие осведомлённые люди знают, что пароли нужно хранить в зашифрованном виде. Уже на этапе ввода символы пароля нужно скрывать от любых глаз (даже от того человека, который его вводит). Всегда ли мы можем выполнить хотя бы эти требования?

Я единственный пользователь своего ноутбука, а на его борту крутится ОС семейства Linux. Поэтому меня не беспокоят пользователи, которые могут случайно или неслучайно посмотреть мои конфигурационные файлы, работая на этом же компьютере. Я решил заморочиться и повысить безопасность своего личного ноутбука, и на то есть свои причины. Да, я шифрую свой домашний каталог, но как только вхожу в систему, любой пароль, хранящийся в виде простого текста в файле конфигурации, потенциально может быть уязвим для чересчур любопытных глаз.

К тому же, я использую почтовый клиент Mutt. Он позволяет мне читать и составлять электронные письма прямо в Linux-терминале. Мне удобно, мне нравится. Правда, ему нужно, чтобы я хранил пароль в файле конфигурации (.mutt), либо всё время вводил пароль в интерактивном режиме. Поэтому я ограничил права доступа к моему конфигурационному файлу Mutt, чтобы его мог видеть только я.

Но есть ещё один важный момент: я периодически пишу технические статьи, составляю туториалы, помогаю людям в сообществе и публикую много своего кода в общедоступных репозиториях, публикую скриншоты своего экрана, часто показываю что-то на примере своей рабочей системы. Если по недосмотру меня угораздит засветить в Интернете (или где-то ещё) данные (и в том числе пароли) из моих конфигурационных файлов, это бросит неприятную тень на мою репутацию и безопасность. Так что надо подстраховаться.

Ну и, если вдруг злоумышленник завладеет моим ноутбуком или каким-то другим образом получит доступ в систему, он не сможет получить мой пароль без боя, просто запустив cat для просмотра логов и конфигов.

Поиск решения задачи

Я решил, что лучший способ защитить мой пароль в Mutt — ввести пароль с клавиатуры, сохранить его в зашифрованном файле GPG, написать на Python скрипт расшифровки для моего GPG-пароля, ну и заодно обеспечить передачу пароля Mutt в скрипт offlineimap, который я использую для локальной синхронизации моего ноутбука с почтовым сервером.

Из подзаголовка статьи ясно, что я буду использовать модули python-gnupg и getpass. Модуль Python python-gnupg — это обёртка для инструмента шифрования gpg. Учтите, python-gnupg не следует путать с модулем под названием gnupg. GnuPG (GPG) — это утилита шифрования для Linux, и я использую её с 2009 года или около того. С ней я чувствую себя комфортно и верю в её безопасность.

Получить пользовательский ввод с помощью Python довольно просто. Вы вызываете input, и всё, что введёт пользователь сохраняется в переменной:

И в этом случае есть одна громадная проблема: когда я ввожу пароль в терминале, всё, что я набираю, видно всем, кто смотрит через моё плечо или просматривает историю моего терминала:

Написание скрипта с python-gnupg и getpass

Как это часто бывает, ничего самому писать не надо, потому что уже существует модуль Python, который позволяет решить проблему. Это модуль getpass4. С точки зрения пользователя он ведёт себя точно так же, как любое стандартное приглашение к вводу, за исключением того, что не отображает введённые символы.

Установим оба модуля с помощью pip:

У меня получился вот такой скрипт для создания пароля с невидимым вводом и расшифровкой:

Сохраните файл как password_prompt.py, если хотите попробовать скрипт у себя. Если вместе с ним вы хотите использовать offlineimap, укажите в конфигурационном файле .offlineimaprc имя и путь к скрипту с паролем (у меня это

/.mutt/password_prompt.py). Правда, там нужно сделать ещё кое-что, но об этом позже.

Тестирование скрипта с gpg

Надеюсь, у вас уже установлен gpg, так как сейчас мы будем создавать зашифрованный файл пароля и тестировать скрипт.

Запускаем созданный ранее скрипт:

Ура! При вводе ничего не отображается, но если вы правильно введёте пароль (нужно ввести hello world), на следующей строке вы увидите тестовое сообщение «hello world». Оно же и является паролем, полученным в результате расшифровки файла

/.mutt/pass.gpg. Значит, скрипт работает правильно.

Интеграция с offlineimap

Сначала добавьте строку, ссылающуюся на файл нашего скрипта:

Теперь вместо пароля в строке с remotepasseval после знака «=» вызовите функцию get_api_pass(), которая живёт в скрипте password_prompt.py:

Всё! Теперь никто не сможет прочитать пароль из вашего конфигурационного файла!

Безопасность даёт свободу

Иногда кажется, что у меня паранойя: я много думаю о тонкостях обеспечения безопасности на моём личном компьютере. Действительно ли SSH конфиг должен иметь разрешения chmod 600? Действительно ли имеет значение, что пароль электронной почты находится в конфигурационном файле, спрятанном в скрытой папке, которая называется, как ни странно, .mutt? Хотя написать подобный скрипт на Python можно и для других конфигурационных файлов.

Зная, что в моих файлах конфигурации отсутствуют незашифрованные конфиденциальные данные, мне намного проще публиковать файлы в общедоступных репозиториях Git, копировать и вставлять сниппеты на форумах и делиться своими знаниями в форме актуальных, рабочих файлов конфигурации. С этой точки зрения, повышение уровня безопасности облегчило мне жизнь. А с таким количеством Python-модулей на все случаи жизни, сделать это было достаточно легко.

Аренда облачного сервера с быстрыми NVMе-дисками и посуточной оплатой у хостинга Маклауд.

Источник

🐧 Как использовать зашифрованный пароль в скриптах Bash

Всегда рекомендуется использовать зашифрованные пароли в скриптах Linux bash.

Как правило, в скриптах bash shell нам может понадобиться пароль для удаленного пользователя при подключении к удаленной системе, пользователя ftp, пользователя прокси и т.д.

В этой статье мы рассмотрим, как зашифровать пароль с помощью команды openssl, а затем увидим, как этот зашифрованный пароль можно использовать в скриптах shell.

Шифрование пароля с помощью Openssl

Допустим, мы хотим подключиться к удаленной системе по ssh, используя пароль внутри скрипта оболочки.

Чтобы зашифровать пароль, используйте команду openssl в вашей системе linux.

Чтобы сохранить зашифрованный пароль в файл, выполните следующую команду,

Установите следующие права на файл secret.txt с помощью команды chmod:

Расшифровка зашифрованного пароля с помощью Openssl

Чтобы расшифровать пароль, выполните следующие действия

Примечание: Если вы внимательно посмотрели, мы использовали опцию ‘-d’ для расшифровки.

Использование зашифрованного пароля в скрипте Bash

Используйте приведенный ниже пример скрипта, который будет использовать зашифрованный пароль при подключении к удаленной системе по ssh.

сохраните и закройте файл.

Сделайте скрипт исполняемым:

Теперь запустите скрипт, чтобы проверить, успешно ли используется шифрование для подключения к удаленной системе.

Отлично, приведенный выше результат подтверждает, что зашифрованное расшифровывается во время выполнения.

Давайте проверим содержимое файла /tmp/a.tmp,

Вышеприведенный вывод подтверждает, что скрипт способен перехватить вывод команды dmesg.

Надеюсь, вы поняли, как можно использовать зашифрованный пароль внутри shell-скрипта.

Источник

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

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