Încerc să copiez cheia GPG de la o mașină la alta.
Fac:
gpg --export ${ID} > public.key gpg --export-secret-key ${ID} > private.key
Mutați fișierele pe noua mașină și apoi:
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]
Toate mi se par bine, dar apoi:
$ 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
Prin urmare, mesajul de eroare spune că fișierul a fost criptat cu [SUB-ID], care importul cheii secrete pare să spună că a importat. [SUB-ID] în ambele mesaje este același).
Deci, în mod clar fac ceva greșit, dar nu știu ce.
Răspunde
Trebuie să adăugați --import
la linia de comandă pentru a importa cheia privată. Nu trebuie să utilizați --allow-secret-key-import
flag. Potrivit paginii man:” Aceasta este o opțiune depășită și nu este utilizată nicăieri. „
gpg --import private.key
Comentarii
Răspuns
Mai sus este doar un răspuns parțial. Răspunsul complet este:
gpg --import private.key
-
Dat fiind KEYID (de ex.
FA0339620046E260
) din ieșire :gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes)
-
SAU utilizați comanda automată de mai jos:
expect -c "spawn gpg --edit-key {KEY} trust quit; send \"5\ry\r\"; expect eof"
În cele din urmă, verifică dacă cheia este acum de încredere cu [ultimate]
în loc de [unknown]
gpg --list-keys
Comentarii
- Acesta ar trebui să fie răspunsul acceptat. Mult mai complet.
- Ce fac aceste comenzi suplimentare?
- @Steiny Face cheia de încredere cu [final] în loc de [necunoscut]. gpgtools.tenderapp.com/kb/faq/…
Răspuns
Importam dintr-o copie de rezervă care avea o versiune veche de gpg. Deoarece computerul vechi nu era disponibil, doar backup-ul nu l-am putut exporta mai întâi. Asta a funcționat pentru mine.
gpg --import old_home_dir/.gnupg/pubring.gpg gpg --import old_home_dir/.gnupg/secring.gpg
Dacă doriți să puteți importați chei secrete fără a introduce imediat fraza de acces, utilizați opțiunea --batch
.
Pentru a verifica cheile publice:
gpg --list-keys
Pentru a verifica cheile secrete:
gpg --list-secret-keys
gpg2 -e -r [ID]
spune " Nu există nicio asigurare că această cheie aparține utilizatorului numit "? Mi-aș dori să fi inclus-o în întrebarea originală, dar am observat-o abia mai târziu.