あるマシンから別のマシンにgpgキーをコピーしようとしています。

実行します:

gpg --export ${ID} > public.key gpg --export-secret-key ${ID} > private.key 

ファイルを新しいマシンに移動してから:

gpg --import public.key gpg: nyckel [ID]: public key [Name, e-mail] was imported gpg: Total number of treated keys: 1 gpg: imported: 1 (RSA: 1) gpg --allow-secret-key-import private.key sec [?]/[ID] [Creation date] [Name, e-mail] ssb [?]/[SUB-ID] [Creation date] 

すべてが私には良さそうですが、その後:

$ gpg -d [file].gpg gpg: encrypted with 4096-bit RSA-key, id [SUB-ID], created [Creation date] [Name, e-mail] gpg: decryption failed: secret key not accessible 

したがって、エラーメッセージは、ファイルが[SUB-ID]で暗号化されていることを示しています。これは、秘密鍵のインポートがインポートしたことを示しているようです。両方のメッセージの[SUB-ID]は同じです。

それで、私は明らかに何か間違ったことをしていますが、何が起こっているのかわかりません。

回答

秘密鍵をインポートするには、コマンドラインに--importを追加する必要があります。フラグ。manページによると:「これは廃止されたオプションであり、どこでも使用されていません。」

gpg --import private.key 

コメント

  • ' gpg2 -e -r [ID]がこのキーが指定されたユーザー"に属しているという保証はありませんか?元の質問に含めたかったのですが、後で気づきました。
  • GnuPGは、どのキーをどれだけ信頼するかを決定するために使用する信頼データベースを維持しています。たとえば、自分のキーを最も信頼し、信頼できるキーによって直接または間接的に署名されていないキーを最も信頼します。'空のデータベースに'インポートした後は、おそらくキーはまったく信頼されていません。この信頼データベースは、データベースまたはキー自体とは別のものであるため、キーをインポートしても、すでに信頼されているキーによって署名されていない限り、キーは信頼されません。信頼したいキーを個別にGnuPGから盗む必要があります。
  • @Celeda、ありがとうございます。-edit-keyとtrustコマンドを使用して、キーを信頼できるようにしました。私の最初の質問は、あるマシンから別のマシンにキーをコピーする方法でしたので、それについて何かをあなたの答えに追加するのが適切だと思います。私は'自分で回答を編集したくないので、これについては私よりも多くのことを知っているようです。
  • 私は'私はtrustdbを十分に理解していると感じています。 'コメントで示した漠然としたヒントを使用して問題を解決できてよかったです。
  • わかりました、'元の質問のタイトルを変更して、回答とより具体的に一致するようにしました。そうすれば、trustdbに別の質問をすることができます。助けてくれてありがとう。 🙂

回答

上記は部分的な回答にすぎません。完全な答えは次のとおりです。

gpg --import private.key 
  • 出力からKEYID(FA0339620046E260など)を指定します:

    gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes) 
  • または、以下の自動コマンドを使用します:

    expect -c "spawn gpg --edit-key {KEY} trust quit; send \"5\ry\r\"; expect eof" 

最後に、そのキーがivid = “81758f7809 [unknown]

gpg --list-keys 

コメント

“>

  • これは受け入れられた答えであるはずです。はるかに完全です。
  • これらの追加コマンドは何をしますか?
  • @Steinyこれにより、キーは[不明]ではなく[最終]で信頼されます。 gpgtools.tenderapp.com/kb/faq/ …
  • 回答

    古いバージョンのgpgを含むバックアップからインポートしていました。古いコンピュータが利用できず、バックアップのみであったため、最初にエクスポートできませんでした。これが私にとってうまくいったことです。

     gpg --import old_home_dir/.gnupg/pubring.gpg gpg --import old_home_dir/.gnupg/secring.gpg  

    できるようにしたい場合パスフレーズをすぐに入力せずに秘密鍵をインポートするには、--batchオプションを使用します。

    公開鍵を確認するには:

     gpg --list-keys  

    秘密鍵を確認するには:

     gpg --list-secret-keys  

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です