Ho generato chiavi utilizzando GPG, eseguendo il seguente comando
gpg --gen-key
Ora ho bisogno di esportare la coppia di chiavi in un file; vale a dire, chiavi private e pubbliche per private.pgp
e public.pgp
, rispettivamente. Come posso farlo?
Commenti
Risposta
Esporta chiave pubblica
Questo comando esporterà una versione ascii blindata del chiave pubblica:
gpg --output public.pgp --armor --export username@email
Esporta chiave segreta
Questo comando esporterà una versione corazzata ASCII della chiave segreta:
gpg --output private.pgp --armor --export-secret-key username@email
Problemi di sicurezza, backup e archiviazione
Una chiave pubblica PGP contiene informazioni sul proprio indirizzo email. Questo è generalmente accettabile poiché la chiave pubblica viene utilizzata per crittografare le email al tuo indirizzo. Tuttavia, in alcuni casi, ciò è indesiderabile.
Per la maggior parte dei casi duso, la chiave segreta non deve essere esportata e non deve essere d istributed . Se lo scopo è creare una chiave di backup, dovresti utilizzare lopzione di backup:
gpg --output backupkeys.pgp --armor --export-secret-keys --export-options export-backup user@email
Questo esporterà tutte le informazioni necessarie in ripristinare le chiavi segrete comprese le informazioni sul database attendibile. Assicurati di archiviare le chiavi segrete di backup fuori dalla piattaforma informatica e in un luogo fisico sicuro.
Se questa chiave è importante per te, ti consiglio di stamparla su carta utilizzando paperkey . E posizionare la chiave di carta in una cassaforte a prova di fuoco / impermeabile.
Server di chiavi pubbliche
In generale, non è consigliabile inviare chiavi pubbliche personali ai server delle chiavi. Non esiste alcun metodo per rimuovere una chiave una volta che è stata pubblicata e non esiste alcun metodo per garantire che la chiave sul server sia stata collocata lì da il presunto proprietario della chiave.
È molto meglio posizionare la tua chiave pubblica su un sito web che possiedi o controlli. Alcune persone consigliano keybase.io per la distribuzione. Tuttavia, questo metodo tiene traccia della partecipazione a varie comunità sociali e tecniche che potrebbero non essere desiderabili per alcuni casi duso.
Per i tecnicamente esperti, personalmente consiglio di provare il webkey servizio di rilevamento delle chiavi a livello di dominio.
Commenti
- La chiave esportata (secondo comando) è crittografata o devo crittografalo da solo prima di memorizzarlo su ag una chiavetta USB?
- @Julian … La chiave segreta esportata ha la stessa protezione della chiave segreta esportata. Se cera una passphrase, la passphrase è necessaria per importare la chiave segreta.
- Ho fatto un backup usando il metodo sopra, ma ho stupidamente dimenticato di testarlo. A meno che ' non mi manchi qualcosa, ' non riesco a recuperare la mia chiave pubblica dal metodo di backup specificato (
--export-options export-backup
e così via). Mi manca qualcosa o ho frainteso il tipo di backup che stava effettuando? - La documentazione conosce
--export-secret-keys
, ma non--export-secret-key
. - @OMGtechy Come hai provato a recuperare le chiavi? Potrei ripristinare le chiavi pubbliche con
gpg --import-options restore --import backupkeys.pgp
, ma ciò non ripristina le chiavi segrete, solo quelle pubbliche, se backupkeys.pgp è stato creato dagpg --output backupkeys.pgp --armor --export --export-options export-backup
. In questo--armor
non è necessario eexport-backup
potrebbe essere sostituito dabackup
.
Risposta
- Elenca le chiavi che hai:
gpg --list-secret-keys
- Esporta la chiave:
gpg --export-secret-key name > ~/my-key.asc
- Copiala su un altro computer;
- Importa la chiave:
gpg --import my-key.asc
Commenti
- Tieni presente che
.asc
sta per ASCII, ma loutput digpg --list-secret-keys
è binario. - In realtà, .asc è per
ASCII armored
e loutput è testo cifrato. Puoi tranquillamente catturarlo e vedere di persona. Inoltre, come la maggior parte dei file Linux, anche lestensione del file è arbitraria, ' tecnicamente non deve essere asc. @WeihangJian - Sarebbe una buona idea rimuovere il file della chiave dopo che è stato importato e verificato correttamente. Se il file è lì, potrebbe essere utilizzato in modo dannoso.
Rispondi
A export
SOMEKEYID chiave pubblica a output
file:
gpg --output public.pgp --export SOMEKEYID
Quando si lavora con chiavi segrete è generalmente preferibile non scriverle su file e, invece, utilizza SSH per copiarli direttamente tra macchine utilizzando solo gpg
e una pipe:
gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import
Se devi , tuttavia, invia la tua chiave segreta a un file assicurati che sia crittografata. Ecco come ottenerlo utilizzando la crittografia AES utilizzando l approccio Dark Otter :
gpg --output public.gpg --export SOMEKEYID && \ gpg --output - --export-secret-key SOMEKEYID |\ cat public.gpg - |\ gpg --armor --output keys.asc --symmetric --cipher-algo AES256
Lultimo approccio è ideale se desideri creare un backup fisico delle tue chiavi pubbliche e private per proteggerti da un guasto del disco quando non esiste altro modo per riottenere laccesso alle tue chiavi.
Vedi Spostamento privato delle chiavi GPG per ulteriori considerazioni.
Risposta
” GnuPG (noto anche come PGP / GPG) “ Ulteriori informazioni
Genera chiave: gpg --gen-key
Visualizza tutte le chiavi: gpg --list-keys
Esporta chiave pubblica:
gpg --export -a --output [path-to-public-key].asc [email-address]
Esporta chiave segreta:
gpg -a --export-secret-keys > [path-to-secret-key].asc
gpg --full-generate-key
per avere uninterfaccia completa per la generazione di chiavi