Ich versuche, meinen GPG-Schlüssel von einem Computer auf einen anderen zu kopieren.

Ich mache:

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

Verschiebt Dateien auf einen neuen Computer und dann:

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] 

Für mich sieht alles gut aus, aber dann:

$ 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 

Die Fehlermeldung besagt also, dass die Datei mit [SUB-ID] verschlüsselt wurde, was der Import des geheimen Schlüssels zu sagen scheint, dass sie importiert wurde [SUB-ID] in beiden Nachrichten ist gleich).

Ich mache also eindeutig etwas falsch, aber ich weiß nicht was.

Antwort

Sie müssen --import zur Befehlszeile hinzufügen, um den privaten Schlüssel zu importieren. Sie müssen nicht die -Flag. Laut Manpage:“ Dies ist eine veraltete Option und wird nirgendwo verwendet. „

gpg --import private.key 

Kommentare

  • Jede Chance, dass Sie ' auch wissen, warum gpg2 -e -r [ID] Es gibt keine Garantie dafür, dass dieser Schlüssel dem benannten Benutzer gehört. "? Ich wünschte, ich hätte es in die ursprüngliche Frage aufgenommen, aber ich habe es erst später bemerkt.
  • GnuPG unterhält eine Vertrauensdatenbank, anhand derer entschieden wird, wie viel welchen Schlüsseln vertraut werden soll. Vertrauen Sie beispielsweise Ihren eigenen Schlüsseln am meisten, Schlüsseln, die ' nicht direkt oder indirekt von vertrauenswürdigen Schlüsseln signiert sind. Nachdem Sie ' gerade in eine leere Datenbank importiert haben, werden wahrscheinlich überhaupt keine Schlüssel als vertrauenswürdig eingestuft. Diese Vertrauensdatenbank ist von der Datenbank oder den Schlüsseln selbst getrennt. Durch das Importieren von Schlüsseln werden sie nur dann als vertrauenswürdig eingestuft, wenn sie von einem bereits vertrauenswürdigen Schlüssel signiert wurden. Sie müssen GnuPG auswählen, welchen Schlüsseln Sie separat vertrauen möchten.
  • @Celeda, danke, mit –edit-key und dem Vertrauensbefehl, mit dem ich den Schlüssel vertrauenswürdig gemacht habe. Da meine ursprüngliche Frage lautete, wie der Schlüssel von einem Computer auf einen anderen kopiert werden kann, halte ich es für angebracht, Ihrer Antwort etwas dazu hinzuzufügen. Ich ' würde es vorziehen, Ihre Antwort nicht selbst zu bearbeiten, und Sie scheinen viel mehr darüber zu wissen als ich.
  • Ich ' Ich habe nicht das Gefühl, dass ich die Vertrauensdatenbank gut genug verstehe, um in meiner Antwort darüber zu sprechen. Ich ' bin froh, dass Sie es mit den vagen Hinweisen, die ich in meinem Kommentar gegeben habe, herausfinden konnten.
  • Ok, ich ' haben die ursprüngliche Frage umbenannt, damit sie genauer zur Antwort passt. Auf diese Weise kann ich der trustdb eine separate Frage stellen. Danke für die Hilfe. 🙂

Antwort

Oben ist nur eine Teilantwort. Die vollständige Antwort lautet:

gpg --import private.key 
  • Angesichts der KEYID (z. B. FA0339620046E260) aus der Ausgabe :

    gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes) 
  • ODER verwenden Sie den folgenden automatisierten Befehl:

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

Schließlich überprüft , dass dem Schlüssel jetzt anstelle von [unknown]

gpg --list-keys 

Kommentare

  • Dies sollte die akzeptierte Antwort sein. Viel vollständiger.
  • Was bewirken diese zusätzlichen Befehle?
  • @Steiny Dadurch wird dem Schlüssel [ultimativ] anstelle von [unbekannt] vertraut. gpgtools.tenderapp.com/kb/faq/…

Antwort

Ich habe aus einem Backup importiert, das eine alte Version von gpg hatte. Da der alte Computer nicht verfügbar war, sondern nur das Backup, konnte ich ihn nicht zuerst exportieren. Dies hat bei mir funktioniert.

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

Wenn Sie möchten Verwenden Sie die Option --batch, um geheime Schlüssel zu importieren, ohne die Passphrase sofort einzugeben.

So überprüfen Sie die öffentlichen Schlüssel:

 gpg --list-keys  

So überprüfen Sie die geheimen Schlüssel:

 gpg --list-secret-keys  

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.