いくつかの重要なファイルを自動的に暗号化して公開したくないGitHubパブリックリポジトリにプッシュするスクリプトを作成したいと思います(しかしプロジェクト全体でアーカイブしたい)。
解決策として、GPGを使用して暗号化することにしました。問題は、コマンドにCLI引数として渡されたパスワードを使用して特定のファイルを暗号化する方法についての手がかりが見つからないことですgpg -c
。
これを行う方法を知っている人はいますか?
ベストアンサー1
バッチモードでは、次のいずれかのオプションを使用してください--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
(to 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
など。