%20-%20%E6%96%B0%E3%81%97%E3%81%84%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%81%AE%E4%BB%A3%E3%82%8F%E3%82%8A%E3%81%AB%E5%8F%A4%E3%81%84%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%81%8C%E6%A9%9F%E8%83%BD%E3%81%99%E3%82%8B.png)
6 か月前に GPG キーのパスワードを変更しました。シェルでは問題なく動作するようです。ただし、暗号化されたファイルは 2 つの方法で復号化できます。
- ターミナルでコマンドを実行すると
gpg file.txt.asc
、新しいパスワードが機能します。古いパスワードは機能しません。(どちらが正しいですか) - ターミナル経由で実行されるbashスクリプトに次の行
sh /absolute/path/script.sh
を挿入します-#!/bin/bash
gpg file.txt.asc
新しいパスワードが機能しません。古いパスワードのみが機能します。
そのため、スクリプトを使用してファイルを復号化することはできません。
.gnupg
フォルダは暗号化された場所に移動され、元の場所へのシンボリックリンクが張られていますgpg --edit-key
とでパスワードを変更しようとしましたgpg2 --edit-key
(どちらも同じように機能します)- gpgキャッシュが消去され、キーを削除して再度インポートしてみました
答え1
結局、私はそれを理解しました:
- gpgとgpg2には異なる秘密鍵がありました
- 私には別名があった
alias gpg="gpg2"
- スクリプトは「gpg」で動作していましたが、シェルは gpg2 で動作していました (そうではないと思っていたにもかかわらず)