Расшифровка и шифрование файла с помощью gpg без повторного ввода пароля

[уведомления: моя проблема похожа на этой. И связанные с этой]

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

это выглядит так:

gpg --output $file_to_edit --decrypt $ecrypted_file
echo "Some edit" >> $file_to_edit
gpg --output $ecrypted_file --symmetric $file_to_edit

теперь gpg запрашивает пароль 3 раза (1 для расшифровки и 2 для шифрования). Я хотел бы ввести парольную фразу только один раз (для расшифровки) и, если это правильно, используйте его снова для шифрования. Есть ли безопасное как это сделать?

14
задан francescop21
27.02.2023 0:41 Количество просмотров материала 2443
Распечатать страницу

1 ответ

есть несколько вариантов, но все они могут оставить вас с расшифрованным файлом на диске, ожидая восстановления позже. У Shred могут даже возникнуть проблемы с безопасным удалением файла (если есть журнал/журнал, избыточные записи / RAID, временные кэши, сжатые файловые системы), а SSD также может бесшумно менять сектора. Даже с помощью tmpfs файловая система подлежит записи в swap. А программы для редактирования у вас может уйти даже больше временная/кэш файлы. Если вся ваша файловая система и swap зашифрован, что очень помогает, Но тогда вам действительно нужно больше шифрования?

если вы просто сохраняете основной текст (например, пароли), я бы предложил использовать специальную программу, такую как KeePass(X/XC), LastPass и т. д. Или другой метод шифрования, который шифрует файлы, такие как eCryptfs, EncFS, или шифрует устройства, такие как LUKS, или преемник TrueCrypt.


но с как раз GPG, вы смогли использовать одно из этих варианты

  • --passphrase-fd n

    Читать пароль из файла с дескриптором N. Будет только в первой строке чтение из файлового дескриптора n. Если вы используете 0 для n, парольная фраза будет чтение из STDIN. Его можно использовать только в том случае, если указана только одна парольная фраза.

    обратите внимание, что эта парольная фраза используется, только если опция -- batch также было дано. Это отличается от версии GnuPG 1.x.

  • --passphrase-file file

    Читать пароль из файла file. Только первая строка будет прочитана из файл file. Его можно использовать только в том случае, если указана только одна парольная фраза. Очевидно, пароль хранится в файле сомнительную безопасность если другие пользователи могут читать этот файл. Не используйте эту опцию, если она. Обратите внимание, что эта фраза используется, только если параметр --партия также было дано. Это отличается от GnuPG версии 1.x.

  • --passphrase string

    Использовать строку в качестве ключа. Это может быть использовано только если только один пароль поставлен. Очевидно, что это очень сомнительная безопасность в многопользовательской системе. Не используйте этот параметр, если его можно избежать. Отмечать эта парольная фраза используется только в том случае, если опция -- batch также с учетом. Это отличается от GnuPG версии 1.x.

для вышеуказанных вариантов, вам вероятно понадобится либо --pinentry-mode loopback (позволяет вводить новые данные, например, новое имя файла, если есть конфликт) или --batch иначе грот будет просто игнорировать варианты фразу и еще попросите агента пароль (а ИМО ошибка). Это тоже может быть полезно:

  • --passphrase-repeat n

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

вы можете ввести парольную фразу только один раз и read / сохраните его в переменной оболочки/bash (скажем,$password), вспоминая его позже с --passphrase="$password". Что-то вроде

until gpg --pinentry-mode loopback --passphrase="$password" --output $file_to_edit $ecrypted_file;
do read -r password;
done

#Got out of the loop with a correct password, now
echo "Some edit" >> $file_to_edit

gpg --pinentry-mode loopback --passphrase="$password" --output $ecrypted_file --yes --symmetric $file_to_edit

(--yes заменить)

1
отвечен Xen2050 2023-02-28 08:29

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

command-line
encryption
gnupg
linux
passphrase
Вверх