Ich habe Schlüssel mit GPG generiert, indem ich den folgenden Befehl
gpg --gen-key
Jetzt muss ich das Schlüsselpaar in eine Datei exportieren. private und öffentliche Schlüssel für private.pgp
bzw. public.pgp
. Wie mache ich das?
Kommentare
- P.S. Verwenden Sie in GPG 2
gpg --full-generate-key
, um eine vollständige Schnittstelle zum Generieren von Schlüsseln zu erhalten.
Antwort
Öffentlichen Schlüssel exportieren
Dieser Befehl exportiert eine ASCII-gepanzerte Version des öffentlicher Schlüssel:
gpg --output public.pgp --armor --export username@email
Geheime Schlüssel exportieren
Dieser Befehl exportiert eine ASCII-gepanzerte Version des geheimen Schlüssels:
gpg --output private.pgp --armor --export-secret-key username@email
Sicherheitsbedenken, Sicherung und Speicherung
Ein öffentlicher PGP-Schlüssel enthält Informationen Dies ist im Allgemeinen akzeptabel, da der öffentliche Schlüssel zum Verschlüsseln von E-Mails an Ihre Adresse verwendet wird. In einigen Fällen ist dies jedoch unerwünscht.
In den meisten Anwendungsfällen ist Der geheime Schlüssel muss nicht exportiert werden und sollte nicht d verteilt . Wenn Sie einen Sicherungsschlüssel erstellen möchten, sollten Sie die Sicherungsoption verwenden:
gpg --output backupkeys.pgp --armor --export-secret-keys --export-options export-backup user@email
Dadurch werden alle erforderlichen Informationen exportiert Stellen Sie die geheimen Schlüssel einschließlich der Informationen zur Vertrauensdatenbank wieder her. Stellen Sie sicher, dass Sie alle geheimen Sicherungsschlüssel von der Computerplattform und an einem sicheren physischen Ort aufbewahren.
Wenn dieser Schlüssel für Sie wichtig ist, empfehle ich, den Schlüssel mit paperkey . Und legen Sie den Papierschlüssel in einen feuerfesten / wasserdichten Safe.
Server für öffentliche Schlüssel
Im Allgemeinen ist es nicht ratsam, persönliche öffentliche Schlüssel auf Schlüsselservern zu veröffentlichen. Es gibt keine Methode zum Entfernen eines Schlüssels, sobald dieser veröffentlicht wurde, und es gibt keine Methode, um sicherzustellen, dass der Schlüssel auf dem Server von dort platziert wurde der vermeintliche Besitzer des Schlüssels.
Es ist viel besser, Ihren öffentlichen Schlüssel auf einer Website zu platzieren, die Sie besitzen oder steuern. Einige Leute empfehlen keybase.io für die Verteilung. Diese Methode verfolgt jedoch die Teilnahme an verschiedenen sozialen und technischen Gemeinschaften, die für einige Anwendungsfälle möglicherweise nicht wünschenswert sind.
Für technisch versierte Personen empfehle ich persönlich, die webkey Schlüsselerkennungsdienst auf Domänenebene.
Kommentare
- Ist der exportierte Schlüssel (zweiter Befehl) verschlüsselt oder muss ich verschlüsseln Sie es selbst, bevor Sie es auf ag speichern ein USB-Laufwerk?
- @Julian … Der exportierte geheime Schlüssel hat den gleichen Schutz wie der exportierte geheime Schlüssel. Wenn es eine Passphrase gab, ist die Passphrase erforderlich, um den geheimen Schlüssel zu importieren.
- Ich habe ein Backup mit der obigen Methode erstellt, aber dummerweise vergessen, es zu testen. Wenn mir ' nichts fehlt, kann ich ' meinen öffentlichen Schlüssel scheinbar nicht von der angegebenen Sicherungsmethode wiederherstellen ( usw.). Fehlt mir etwas oder habe ich die Art der Sicherung falsch verstanden?
- Die Dokumentation kennt
--export-secret-keys
, aber nicht--export-secret-key
. - @OMGtechy Wie haben Sie versucht, die Schlüssel wiederherzustellen? Ich könnte öffentliche Schlüssel mit
gpg --import-options restore --import backupkeys.pgp
wiederherstellen, aber das stellt keine geheimen Schlüssel wieder her, sondern nur die öffentlichen, wenn backupkeys.pgp vongpg --output backupkeys.pgp --armor --export --export-options export-backup
. In diesem Fall ist--armor
nicht erforderlich undexport-backup
könnte durchbackup
ersetzt werden.
Antwort
- Listen Sie die Schlüssel auf, die Sie haben:
gpg --list-secret-keys
- Exportieren Sie den Schlüssel:
gpg --export-secret-key name > ~/my-key.asc
- Kopieren Sie ihn auf einen anderen Computer;
- Importieren Sie den Schlüssel:
gpg --import my-key.asc
Kommentare
- Beachten Sie, dass
.asc
steht für ASCII, aber die Ausgabe vongpg --list-secret-keys
ist binär. - Tatsächlich ist .asc für
ASCII armored
und die Ausgabe ist verschlüsselter Text. Sie können es sicher katzen und selbst sehen. Wie bei den meisten Linux-Dateien ist auch die Dateierweiterung beliebig, ' muss technisch nicht aufsteigen. @WeihangJian - Es ist eine gute Idee, die Schlüsseldatei zu entfernen, nachdem sie importiert und erfolgreich getestet wurde. Wenn sich die Datei dort befindet, kann sie böswillig verwendet werden.
Antwort
An export
SOMEKEYID öffentlicher Schlüssel für einen output
Datei:
gpg --output public.pgp --export SOMEKEYID
Wenn Sie mit geheimen Schlüsseln arbeiten, ist es im Allgemeinen vorzuziehen, diese nicht in Dateien zu schreiben und, Verwenden Sie stattdessen SSH, um sie direkt zwischen Computern zu kopieren, indem Sie nur gpg
und eine Pipe verwenden:
gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import
Wenn Sie müssen Wenn Sie jedoch Ihren geheimen Schlüssel in eine Datei ausgeben, stellen Sie bitte sicher, dass diese verschlüsselt ist. Hier erfahren Sie, wie Sie dies mithilfe der AES-Verschlüsselung mithilfe des Dark Otter-Ansatzes erreichen:
gpg --output public.gpg --export SOMEKEYID && \ gpg --output - --export-secret-key SOMEKEYID |\ cat public.gpg - |\ gpg --armor --output keys.asc --symmetric --cipher-algo AES256
Der letzte Ansatz ist ideal, wenn Sie eine physische Sicherung Ihrer öffentlichen und privaten Schlüssel erstellen möchten, um sich vor einem Festplattenfehler zu schützen, wenn keine andere Möglichkeit besteht, den Zugriff auf Ihre Schlüssel wiederherzustellen.
Siehe Verschieben von GPG-Schlüsseln privat für zusätzliche Überlegungen.
Antwort
“ GnuPG (auch bekannt als PGP / GPG) „ Weitere Informationen
Schlüssel generieren: gpg --gen-key
Alle Schlüssel anzeigen: gpg --list-keys
Öffentlichen Schlüssel exportieren:
gpg --export -a --output [path-to-public-key].asc [email-address]
Geheime Schlüssel exportieren:
gpg -a --export-secret-keys > [path-to-secret-key].asc