Я пытаюсь зашифровать файл tar, используя пароль, хранящийся в файле: ~/Documents/Secret/.secret используя следующую команду:

cat ~/Documents/Secret/.secret | gpg -c --passphrase-fd 0 ~/backup.tar

Теперь я ожидаю в выводе этого файла: ~/backup.tar.gpg но он ничего не выводит.

Я получаю эту ошибку, кто-то может мне помочь? Я на самом деле потерян

gpg: problem with the agent: ioctl non appropriata per il device
gpg: error creating passphrase: Operazione annullata
gpg: symmetric encryption of '/home/pi/backup.tar' failed: Operazione annullata

Я пытаюсь зашифровать этот файл на моем Raspine 9 с помощью Raspian 9 (Stretch).

2 ответа2

0

Вероятно, вам действительно следует использовать --pinentry-mode loopback , он разрешает парольные фразы в файлах и каналах (файловые дескрипторы).

--batch и --yes множество ваших опций и создают риски, не последним из которых является перезапись существующих файлов. --output тоже не понадобится, новые файлы автоматически получат расширение .gpg .

(IMO оба - просто обходные пути для ошибок, введенных программами принудительного ввода).

0

Правильная команда для шифрования одного файла с использованием парольной фразы, хранящейся в файле:

gpg -c --batch --yes --passphrase-file ~/Documents/Secret/.secret --output ~/backup.tar.gpg ~/backup.tar

Куда:

  • -c зашифровать файл
  • --batch - это то, что я искал: позволил мне выполнить процесс шифрования в скрипте
  • --yes Подтвердить много сообщений в случае запроса (например: «Хотите переписать?«)
  • --passphrase-file myKey Указывает, где хранится ключ
  • --output cryptedFile.gpg` Указывает имя выхода

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .