Мне нужен сценарий bash для создания файла, который зашифрован, так как источник содержит конфиденциальную информацию.
Я хотел бы, чтобы скрипт запросил парольную фразу GPG и затем запустил, используя зашифрованный файл. Я не могу понять, как это сделать, хотя. Для парольной фразы должен быть введен пользователь, поскольку я не хочу хранить ключ на сервере с зашифрованным файлом.
Изучая различные методы, я не хочу расшифровывать файл, исходить из незашифрованного файла, а затем удалять его. Я хотел бы уменьшить шанс оставить незашифрованный файл, если что-то пошло не так в скрипте.
Есть ли способ получить вывод GPG файла, чтобы получить его таким образом? Возможно, собирать STDOUT и анализировать его (если GPG может даже выводить содержимое таким образом).
Кроме того, если есть другой способ зашифровать файл, который могут использовать сценарии оболочки, я не знаю об этом, но открыт для других возможностей.
источник
<(command)
.. <(aescrypt -d -o - file.aes)
Если вы
gpg-agent
правильно настроили, используетеpinentry-tty
или другую версию, которая не загрязняет stdin / stdout, то вы сможете сделать что-то вроде:При этом используется подстановка процесса для подачи результата,
source
как будто это файл. Данные конкретного файла исчезнут, как только оболочка завершит работу с ним, хотя после этого вам все равно нужно быть осторожным с конфиденциальными данными в памяти оболочки.источник
Поскольку самый здравый ответ уже был дан, вот безумный - используйте эту файловую систему:
https://github.com/jseppanen/gpgfs
Таким образом, ваша программа не заметит, что она говорит с каналом.
источник