1. ホーム
  2. unix

[解決済み】gpgの復号化に失敗し、秘密鍵がないエラーが発生する。

2022-01-22 19:32:12

質問

.dat.pgpファイルを復号化するためのパスフレーズとして使用するgpg .keyファイルを持っているのですが、.dat.pgpファイルを復号化するためのパスフレーズはありますか?暗号化された .data.pgp ファイルは、同じ .key ファイルを使用して、あるサーバで次のコマンドを使用して復号化することに成功しました。

cat xxx_gpg.key | /usr/bin/gpg --batch --quiet -o xxx.dat --passphrase-fd O -d xxx.dat.pgp

しかし、同じ鍵を別のサーバ xxx_gpg.key に移動して、同じように上記のコマンドを実行すると、以下のようなエラーが発生します。

gpg: decryption failed: No secret key

EDIT

私は gpg --list-secret-keys は、それが動作するサーバーでいくつかのデータを返しますが、他のサーバーでは結果が返されません。

シークレットキーはどのように設定するのですか?

解決方法は?

秘密鍵が相手のマシンにないようなので、正しいパスフレーズ(ファイルから読み込む)を使ってもうまくいかないでしょう。

これらのオプションは、以下のように動作するはずです。

  • キーリング(秘密キーリングのみ必要かもしれませんが、公開リングはいずれにしても公開です)をもう一方のマシンにコピーする。
  • または、秘密鍵&をエクスポートし、他のマシンでそれをインポートします。

から、便利そうなオプションをいくつか紹介します。 man gpg :

--export
すべてのキーリングからすべてのキーをエクスポートするか(デフォルトのキーリングと オプションで登録した --keyring または、少なくとも1つの名前が指定された場合。 指定された名前のもの。新しいキーホルダーは、STDOUTまたは オプションで指定されたファイル --output . と一緒に使用します。 --armor を使用します。 は、これらのキーをメール送信します。

--export-secret-keys
と同じです。 --export しかし、代わりに秘密鍵をエクスポートします。

--import
--fast-import
キーをインポート/マージします。これは与えられたキーをキーホルダーに追加します。高速な バージョンは現在単なるシノニムである。

そして多分

--keyring file
現在のキーリングのリストにファイルを追加する。ファイルがチルダで始まる場合 とスラッシュがある場合、これらは $HOME ディレクトリに置き換えられます。もし、ファイル 名前にスラッシュが含まれていない場合、GnuPGのホームにあるものとみなされます。 ディレクトリ (--homedir または $GNUPGHOME が使用されていない場合は "~/.gnupg") に移動します。

これは、現在のリストにキーリングを追加することに注意してください。もし、その意図が 指定されたキーリングを単独で使用する場合は --keyring とともに --no-default-keyring .

--secret-keyring file
と同じです。 --keyring が、シークレットキーホルダー用です。