.dat.pgpファイルを復号化するためのパスフレーズとして使用されるgpg .keyファイルがあります。暗号化された.data.pgpファイルは、次のコマンドを使用して、同じ.keyファイルで1つのサーバーで正常に復号化されます
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
編集:
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
と同じですが、秘密鍵リング用です。
Arch Linuxのgpg CLIでこの問題に遭遇しました。既存の「gpg-agent」プロセスを強制終了する必要があり、すべてが正常に戻りました(新しいgpg-agentが自動起動されます; ...)。
GPG 2.xがインストールされているシステム上の別のユーザーにsu
- edしている間にシークレットを復号化しようとすると、このエラーが発生することがあります。 このバグはRHEL 6に対して報告されています しかし、利用可能な修正はありません。どうやらこれはGPG 2.xでのいくつかの設計決定によるものです。バグレポートで提案されている回避策の1つは、tmuxまたはscreenセッション内で復号化を実行することです。 詳細はこちら 。