Sto cercando di copiare la mia chiave gpg da una macchina allaltra.
Lo faccio:
gpg --export ${ID} > public.key gpg --export-secret-key ${ID} > private.key
Sposta i file su una nuova macchina, quindi:
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]
Mi sembra tutto a posto, ma poi:
$ 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
Quindi il messaggio di errore dice che il file è stato crittografato con [SUB-ID], che limportazione della chiave segreta sembra indicare che è stato importato (il [SUB-ID] in entrambi i messaggi è lo stesso).
Quindi sto chiaramente facendo qualcosa di sbagliato, ma non so cosa.
Rispondi
Devi aggiungere --import
alla riga di comando per importare la chiave privata. Non è necessario utilizzare --allow-secret-key-import
flag. Secondo la pagina man:” Questa è unopzione obsoleta e non è usata da nessuna parte. “
gpg --import private.key
Commenti
Risposta
Quella sopra è solo una risposta parziale. La risposta completa è:
gpg --import private.key
-
Dato il KEYID (ad es.
FA0339620046E260
) dalloutput :gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes)
-
OPPURE utilizza il comando automatizzato di seguito:
expect -c "spawn gpg --edit-key {KEY} trust quit; send \"5\ry\r\"; expect eof"
Infine, verifica che la chiave sia ora considerata attendibile con [ultimate]
invece di [unknown]
gpg --list-keys
Commenti
- Questa dovrebbe essere la risposta accettata. Molto più completo.
- Cosa fanno questi comandi extra?
- @Steiny Rende la chiave affidabile con [ultimate] invece che con [unknown]. gpgtools.tenderapp.com/kb/faq/…
Risposta
Stavo importando da un backup con una vecchia versione di gpg. Poiché il vecchio computer non era disponibile, ma solo il backup, non ho potuto esportarlo prima. Questo è ciò che ha funzionato per me.
gpg --import old_home_dir/.gnupg/pubring.gpg gpg --import old_home_dir/.gnupg/secring.gpg
Se vuoi essere in grado di importa le chiavi segrete senza inserire immediatamente la passphrase, utilizza lopzione --batch
.
Per verificare le chiavi pubbliche:
gpg --list-keys
Per verificare le chiavi segrete:
gpg --list-secret-keys
gpg2 -e -r [ID]
dice " Non vi è alcuna garanzia che questa chiave appartenga allutente denominato "? Vorrei averlo incluso nella domanda originale, ma lho notato solo più tardi.