Я пишу сценарий, который создает архивы проектов, а затем создает их из 7z архивов, чтобы мне было легче сохранять конкретные версии и хранить зашифрованные резервные копии.
После того как я сгенерировал архивы и перешел к этапу шифрования, я бы хотел зашифровать файлы одним вызовом, gpg
если это возможно, чтобы пользователь вводил свои парольные фразы только один раз. В противном случае мы должны были бы либо кэшировать парольную фразу пользователя в памяти (что я действительно не хотел бы делать), либо попросить его ввести и подтвердить ее парольную фразу для каждого отдельного проекта, который заархивирован (что еще хуже).
Есть ли способ передать несколько имен файлов, чтобы gpg
он зашифровал их все за один раз?
Если я попробую это:
$ gpg --cipher-algo AES256 --compression-algo BZIP2 -c project1.7z project2.7z
... Я вижу следующую ошибку в оболочке:
usage: gpg [options] --symmetric [filename]
Есть ли способ сделать то, что я хочу сделать?
Ответы:
Нет, нет.
Вы, вероятно, захотите передать фразу-пароль с одним из следующих параметров gpg (последний будет наиболее безопасным выбором):
источник
Поскольку GnuPG не поддерживает это напрямую, способ сделать это - добавить еще один слой, например, используя
tar
.И извлечь:
Вы останетесь с
project1.7z
иproject2.7z
. Ваш сценарий может тогда взять, где вы остановились.источник
Если вы хотите попробовать что-то еще, то у GPG есть другие методы резервного копирования для шифрования нескольких файлов:
первоисточник: http://www.obsd.hu/docs/Unix-backup-with-aes.txt
Использование: просто используйте «резервную копию DIRECTORY» для шифрования и «расшифруйте DIRECTORY.tar.gz.aes»
источник
Сегодня удалось сделать что-то вроде этого:
Изменил каталог на каталог, содержащий целевые файлы, и запустил скрипт Bash, чтобы найти требуемые имена файлов и перечислить их в текстовый файл, который я вызвал
found.txt
.Запустил сценарий Bash, запрашивающий gpg2 прочитать каждое имя файла в цикле и в переменную памяти, и в том же цикле зашифровать его, используя мой ключ подписи и указав, что оно предназначено для чтения самостоятельно. gpg2 открывает всплывающее окно для ввода вашей парольной фразы, в этом всплывающем окне есть небольшой флажок, где вы можете оставить активную парольную фразу активной для сеанса. Плохая практика, но не такая уж плохая, если вас нет в сети и вы выключаете питание сразу после сеанса шифрования.
Единственная проблема заключалась в том, что был обработан ay / n. Так что я сел за палец на клавишу Y и зашифровал 51 файл nos менее чем за минуту.
Сценарии приведены ниже:
Скрипт 'find' был файлом с именем
FindFilesAndListtoTextfile.sh
:Сценарий шифрования назывался ReadFilenameAndEncrypt.sh:
Это должно быть запущено как обычный пользователь:
Надеюсь это поможет. Не разобрался, как избежать г / п.
источник
Следующая команда работает для меня, пока у меня нет имен файлов с пробелами в них.
Вы также можете использовать команду поиска.
Наконец, если вы хотите использовать файл для пароля, используйте:
источник
Да, есть простой способ:
источник
echo "Введите пароль:"
читать пароль
найти . -type f -exec gpg --passphrase $ password -c {} \;
Hmmmmmm GPG запрашивает у GraphicMessageBox пароль для каждого файла.
Итак, я решил использовать CRYBULL (программу криптографии, которую я создал) в C-ANSI. Вы можете скачать бесплатно на www.labolida.com
найти . -type f -exec crybull {} {} .cry $ password encode \;
источник