Gpg
一次加密多個文件
我正在編寫一個腳本來創建項目存檔,然後創建它們的 7z 存檔,以便我更輕鬆地保存特定版本並保留加密備份。
在我生成檔案並進入加密階段之後,
gpg
如果可能的話,我想通過一次呼叫來加密文件,以便使用者只輸入一次密碼。否則,我們要麼必須將使用者的密碼片語記憶體在記憶體中(我真的不想這樣做),要麼讓他們輸入並確認每個存檔項目的密碼片語(這更糟)。有沒有辦法傳遞多個文件名
gpg
讓它一次性加密所有文件名?如果我試試這個:
$ gpg --cipher-algo AES256 --compression-algo BZIP2 -c project1.7z project2.7z
…我在 shell 中看到以下錯誤:
usage: gpg [options] --symmetric [filename]
有沒有辦法做我想要完成的事情?
Is there a way to pass multiple filenames to gpg to have it encrypt all of them in one go?
不,那裡沒有。
您可能希望使用以下 gpg 選項之一傳遞密碼(後者將是最安全的選擇):
--passphrase --passphrase-file --passphrase-fd
由於 GnuPG 不直接支持這一點,所以這樣做的方法是添加另一個層,例如使用
tar
.tar c project1.7z project2.7z | gpg --cipher-algo AES256 --compression-algo BZIP2 -co projects.gpg
並提取:
gpg -d projects.gpg | tar x
您將留下
project1.7z
andproject2.7z
。然後,您的腳本可以從您離開的地方繼續。