Jeg prøver å kopiere gpg-nøkkelen min fra en maskin til en annen.
Jeg gjør:
gpg --export ${ID} > public.key gpg --export-secret-key ${ID} > private.key
Flytt filer til ny maskin, og deretter:
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]
Alt ser bra ut for meg, men da:
$ 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
Så feilmeldingen sier at filen er kryptert med [SUB-ID], som den hemmelige nøkkelimporten ser ut til å si at den har importert. ( [SUB-ID] i begge meldingene er den samme).
Så jeg gjør tydeligvis noe galt, men jeg vet ikke hva.
Svar
Du må legge til --import
til kommandolinjen for å importere den private nøkkelen. Du trenger ikke bruke --allow-secret-key-import
flagg. Ifølge mansiden:» Dette er et foreldet alternativ og brukes ikke noe sted. «
gpg --import private.key
Kommentarer
Svar
Ovenfor er bare et delvis svar. Komplett svar er:
gpg --import private.key
-
Gitt KEYID (f.eks.
FA0339620046E260
) fra utgangen :gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes)
-
ELLER bruk den automatiserte kommandoen nedenfor:
expect -c "spawn gpg --edit-key {KEY} trust quit; send \"5\ry\r\"; expect eof"
Til slutt, verifiser den nøkkelen er nå klarert med [ultimate]
i stedet for [unknown]
gpg --list-keys
Kommentarer
- Dette skal være det aksepterte svaret. Mye mer komplett.
- Hva gjør disse ekstra kommandoene?
- @Steiny Det gjør nøkkelen klarert med [ultimate] i stedet for [ukjent]. gpgtools.tenderapp.com/kb/faq/…
Svar
Jeg importerte fra en sikkerhetskopi som hadde en gammel versjon av gpg. Siden den gamle datamaskinen ikke var tilgjengelig, bare sikkerhetskopien, kunne jeg ikke eksportere den først. Dette fungerte for meg.
gpg --import old_home_dir/.gnupg/pubring.gpg gpg --import old_home_dir/.gnupg/secring.gpg
Hvis du vil være i stand til å importer hemmelige nøkler uten å angi passordfrasen umiddelbart, bruk --batch
alternativet.
For å bekrefte de offentlige nøklene:
gpg --list-keys
For å bekrefte de hemmelige nøklene:
gpg --list-secret-keys
gpg2 -e -r [ID]
sier " Det er ingen garanti for at denne nøkkelen tilhører den navngitte brukeren "? Jeg skulle ønske jeg hadde tatt det med i det opprinnelige spørsmålet, men jeg la merke til det først senere.