web-dev-qa-db-ja.com

ディレクトリ内の複数のファイルをgpgで復号化するにはどうすればよいですか?

同じパスフレーズですべて暗号化された複数の.gpgファイルを含むディレクトリがあります。パスフレーズを何度も入力せずにすべてを復号するにはどうすればよいですか?

12
Chris Shain

これはトリックを行うようです:

gpg --decrypt-files *.gpg
12
Chris Shain

ある日、ソリューションをスクリプト化するための行が必要な場合

#!/usr/bin/env bash
_dir="/some/directory"
_paraphrase=( "$@" )
Decrypt(){
    _pass=( "$@" )
    for _file in $(ls "${_dir}"); do
        case "${_file}" in
            *.gpg)
                echo "${_pass[*]}" | gpg --always-trust --passphrase-fd 0 --decrypt ${_file} --output ${_file%.gpg*}
            ;;
        esac
    done
    unset _pass
}
Decrypt "${_paraphrase[*]}"
unset _paraphrase

上記と同様に、人の介入なしに復号化する必要のある私のGnuPGスクリプトで動作します。ただし、gpg --decrypt-files *.gpgの回答は、GnuPGがパスワードを処理する唯一のアプリケーションであるため、はるかに安全です。

1
S0AndS0