GPG復号化エラー - 無効なセッションキー

GPG復号化エラー - 無効なセッションキー

スクリプトを使用して一部のバックアップファイルを一括暗号化しました。オペレーティングシステムはCentOS 7で、現在のgpgバージョンは2.0.22です。スクリプトの重要な部分は次のとおりです。

enter code here`echo Enter passphrase
read PASS

for sourcefile in $(find /quitelarge/upload/proton/ -name *.gz); do

  echo $sourcefile
  destfile=$(echo $sourcefile | sed '1 s;/quitelarge/upload/proton;/quitelarge/upload/mega;')
  gpg --batch --passphrase "$PASS" -o $destfile.gpg -c $sourcefile

done

いずれかのファイルを復号化しようとすると、次のことが発生します。

gpg -d agent.tar.gz.gpg
gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: DBG: cleared passphrase cached with ID: SAEFA41D323D1BAE9
gpg: decryption failed: Bad session key

はい、正しいパスワードを入力しました。この問題の調査中に、次の参照が見つかりました。

  • 暗号化と復号化のための異なるバージョンのgpg - 暗号化/暗号化解除に同じバージョンのgpgを試しましたが、同じエラー
  • パスワードにcr / lfが含まれるWindoze関連の問題 - 読んだことによると、Linuxの問題ではないようです。

1年前にこのプロセスをテストした結果、バックアップファイルの復号化が可能になりました。もしかしたらgpgに何か変わったのか(?)恥ずかしいですね。どんな提案がありますか?

ティア、

視野

ps CentOS 7はかなり古いので、Linux Mint 20.3システムでgpg 2.2.19を使用してファイルの復号化を試みました。同じ質問。私はこれがある時点でgpgがgpg2にアップグレードされることに関連していると思います。 gpgがgpg2へのリンクを指す場所です。

私は現在、gpgを使用して新しいプレーンテキストファイルに対してテストスクリプトを実行し、復号化しようとしました。同じ質問。

ベストアンサー1

私は私の質問に答えるのが好きですが、問題が自分で作ったものであるときは必ずしもそうではありません...

会議事業が私を悩ませる。私はパスワードを受け入れ、ファイルを暗号化し、ファイルを別の名前で復号化するスクリプトを作成することにしました。これはすべて1つのスクリプト内で行われました。動作しません。 gpgが実際にどのように実行されるのか知りたかったのですか?

[ken@taylor20 upload]$ ps aux | grep gpg
ken       7422  0.3  0.0 121812  1064 ?        Ss   09:36   0:00 gpg-agent --daemon --use-standard-socket
ken       7598  0.0  0.0 112812   976 pts/0    S+   09:38   0:00 grep --color=auto gpg

gpg-agentデーモンを終了し、スクリプトが実行されました。その後、復号化したい元のアーカイブファイルに戻ります。まだ運がありません。アーカイブと暗号化スクリプトを調べたところ、問題のあるコード行が見つかりました。

PASS=testpasswordfornow

前回いくつかの変更を加えたときにテストするたびにパスワードを入力するのは面倒で、読書をコメントアウトして上記を使用しました。プロダクションに戻ったときに読んだ内容のコメントを解除しましたが、上記の内容を削除するのを忘れて、入力したパスワードを上書きしました。 :-(テストパスワードを使用してファイルの復号化ができました。

視野

おすすめ記事