In eine Datei exportieren:

In eine Datei exportieren:

Ich bin auf ein anderes MacBook umgestiegen. Wegen teurer SSDs und wirklich kleinerer Festplattengröße und weil ich mit dieser Installation sauber beginnen wollte, konnte ich den Benutzerordner nicht übertragen. Ich habe die alte Festplatte in einem externen Gehäuse angeschlossen und sehe, dass ich vergessen habe, zwei private Schlüssel zu exportieren. Ich möchte sie von der externen Festplatte oder von Time Machine wiederherstellen.

Wo finde ich die privaten Schlüssel der GPG-Tools, damit ich sie exportieren oder den gesamten GPG-Tools-Ordner kopieren kann?

Antwort1

Standardmäßig werden die GnuPG-Schlüsselbunde im (versteckten) Ordner gespeichert ~/.gnupg; mit anderen Worten im .gnupgOrdner in Ihrem Home-Verzeichnis. Sie können den gesamten Ordner einfach auf die neue Maschine kopieren. Wenn GnuPG danach nicht richtig funktioniert oder eine Fehlermeldung mit Hinweis auf fehlerhafte Berechtigungen anzeigt, stellen Sie sicher, dass Sie danach den Besitz übernehmen (auch wenn Ihr Benutzername derselbe ist, die internen IDs können unterschiedlich sein), indem Sie den folgenden Befehl in der Terminal-Anwendung ausführen (dieser fragt nach Ihrem Benutzerkennwort):

sudo chown -R $USER:staff ~/.gnupg

Alternativ können Sie Ihre geheimen Schlüssel exportieren mit dem

gpg --export-secret-keys [key-id] >secret-keys.gpg

Befehl. Da Sie die Schlüssel von Ihrer alten Festplatte wiederherstellen möchten, schließen Sie diese an Ihren Computer an. Um mit dem GnuPG-Schlüsselbund der alten Festplatte zu arbeiten, verwenden Sie die --homedirOption, die zu etwas wie

gpg --homedir /Volumes/[old-disks-name]/Users/[username]/.gnupg --list-secret-keys

um die verfügbaren geheimen Schlüssel aufzulisten und

gpg --homedir /Volumes/[old-disks-name]/Users/[username]/.gnupg --export-secret-keys [key-id] > secret-keys.gpg

um sie zu exportieren. Sie können sie auch direkt in Ihren neuen GnuPG-Schlüsselbund importieren, anstatt sie in einer Zwischendatei zu speichern (beachten Sie den fehlenden --homedirParameter im GnuPG-Aufrufnachdas Rohr):

gpg --homedir /Volumes/[old-disks-name]/Users/[username]/.gnupg --export-secret-keys [key-id] | gpg --import

Update für 2019 / macOS Catalina:

Time Machine-Backups können zwar gemountet, aber nicht direkt vor Ort geändert werden. Das bedeutet, dass ein Chown fehlschlägt und dass Sie die --homedirOption mit GPG nicht verwenden können, ohne einen Stream davon zu erhalten:

gpg: failed to create temporary file '/Volumes/<Backup Drive>/Backups.backupdb/<Compute Name>/Latest/Macintosh HD/Users/<name>/.gnupg/': Permission denied
gpg: can't connect to the agent: Permission denied

Der Chown schlägt mit einem Nachrichtenstrom wie diesem fehl:

$ sudo chown -R user:staff .gnupg

chown: .gnupg/tofu.db: Operation not permitted
chown: .gnupg/trustdb.gpg: Operation not permitted
chown: .gnupg: Operation not permitted

Kopieren Sie den Ordner .gnupg aus dem Time Machine-Backup, chownen Sie ihn und zeigen Sie die privaten Schlüssel an/extrahieren Sie sie wie oben beschrieben:

$ mkdir ~/gpg_recovery
$ cp -r /Volumes/<Backup Drive>/Backups.backupdb/<Compute Name>/Latest/Macintosh HD/Users/<name>/.gnupg ~/gpg_recovery/
$ cd ~/gpg_recovery/
$ sudo chown -R $USER:staff .gnupg
Password:
$ gpg --homedir ~/gpg_recovery/.gnupg --list-secret-keys

$ gpg --homedir ~/gpg_recovery/.gnupg --export-secret-keys | gpg --import
gpg: key xxxxxxxxxxxxxxxx: public key "xxxxxxxxxxxxxxxxxxxxxxx" imported
gpg: key xxxxxxxxxxxxxxxx: secret key imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg:       secret keys read: 1
gpg:   secret keys imported: 1

Antwort2

Windows

Auf Windows-Systemen können Sie eine Software wie verwendenGpg4win. In diesem Fall können Sie Ihre (privaten) Schlüssel migrieren, indem Sie die folgenden Dateien auf Ihren neuen Computer kopieren:

  • Datei%AppData%\gnupg\pubring.kbx
  • Datei%AppData%\gnupg\trustdb.gpg
  • Gesamter Ordner%AppData%\gnupg\private-keys-v1.d

Um Ihre aktuell erkannten (installierten) lokalen Schlüssel aufzulisten, verwenden Sie gpg --list-secret-keys --keyid-format LONG. Getestet mit gpg (GnuPG) 2.3.4 (2021), installiert überGpg4win4.0.0.

Antwort3

Eine kleine Ergänzung zur Antwort von @jens-erat:

In eine Datei exportieren:

gpg --output private_keys.backup --armor --export-secret-keys

SSH-Import

gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import

Verweis:So exportieren Sie einen privaten und öffentlichen GPG-Schlüssel in eine Datei

verwandte Informationen