我正在尝试使用存储在文件中的密码加密 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
我正在尝试使用 Raspian 9 (Stretch) 在我的 Raspberry Pi 3 上加密此文件
答案1
使用存储在文件中的密码加密一个文件的正确命令是:
gpg -c --batch --yes --passphrase-file ~/Documents/Secret/.secret --output ~/backup.tar.gpg ~/backup.tar
在哪里:
-c
加密文件--batch
正是我想要的:允许我在脚本中执行加密过程--yes
如有请求,请确认多条消息(例如:“您想覆盖吗?”)--passphrase-file myKey
指示密钥的存储位置--output
cryptedFile.gpg`表示输出名称
答案2
您可能真的应该使用该--pinentry-mode loopback
选项,它允许在文件和管道(文件描述符)中使用密码。
和--batch
命令--yes
会剥夺您的很多选项并带来风险,其中最不重要的就是覆盖现有文件。--output
那么也不需要了,新文件会自动获得.gpg
扩展。
(在我看来,这两者都只是针对强制输入密码程序引入的漏洞的解决方法)。