Gpg

一次加密多個文件

  • May 3, 2021

我正在編寫一個腳本來創建項目存檔,然後創建它們的 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.7zand project2.7z。然後,您的腳本可以從您離開的地方繼續。

引用自:https://unix.stackexchange.com/questions/43846