Command-Line
使用作為 CLI 參數傳遞的密鑰使用 GPG 進行加密
我想創建一個腳本,它會自動加密並推送到 GitHub 到公共儲存庫中一些我不想公開的合理文件(但確實想與整個項目保持一致)。
作為解決方案,我決定使用 GPG 對它們進行加密。問題是我找不到任何關於如何使用作為 CLI 參數傳遞給
gpg -c
命令的密碼來加密特定文件的線索。有人知道怎麼做這個嗎?
在批處理模式下使用
--passphrase-...
選項之一:
--passphrase-fd
從給定的文件描述符中讀取密碼echo mysuperpassphrase | gpg --batch -c --passphrase-fd 0 file
--passphrase-file
從給定文件中讀取密碼echo mysuperpassphrase > passphrase gpg --batch -c --passphrase-file passphrase file
--passphrase
使用給定的字元串gpg --batch -c --passphrase mysuperpassphrase file
這些都
file
將file.gpg
使用mysuperpassphrase
.對於 GPG 2.1 或更高版本,您還需要將 PIN 輸入模式設置為“環回”:
gpg --batch -c --pinentry-mode loopback --passphrase-file passphrase file
等等
解密可以以類似的方式執行,使用
-d
代替-c
,並重定向輸出:gpg --batch -d --passphrase-file passphrase file.gpg > file
等等