我正在嘗試使用儲存在檔案中的密碼來加密 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
副檔名。
(IMO 兩者都只是強制 pinentry 程式引入的錯誤的解決方法)。