Jeg prøver at kopiere min gpg-nøgle fra en maskine til en anden.
Jeg gør:
gpg --export ${ID} > public.key gpg --export-secret-key ${ID} > private.key
Flyt filer til ny maskine og derefter:
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 godt ud for mig, men så:
$ 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å fejlmeddelelsen siger, at filen er krypteret med [SUB-ID], som den hemmelige nøgleimport ser ud til at sige, at den har importeret. ( [SUB-ID] i begge meddelelser er den samme).
Så jeg laver tydeligt noget forkert, men jeg ved ikke hvad.
Svar
Du skal tilføje --import
til kommandolinjen for at importere den private nøgle. Du behøver ikke bruge --allow-secret-key-import
flag. Ifølge mandsiden:” Dette er en forældet mulighed og bruges ikke nogen steder. “
gpg --import private.key
Kommentarer
Svar
Ovenstående er kun et delvis svar. Komplet svar er:
gpg --import private.key
-
Givet KEYID (f.eks.
FA0339620046E260
) fra output :gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes)
-
ELLER brug den automatiske kommando nedenfor:
expect -c "spawn gpg --edit-key {KEY} trust quit; send \"5\ry\r\"; expect eof"
Endelig skal verificere denne nøgle er nu klaret med [ultimate]
i stedet for [unknown]
gpg --list-keys
Kommentarer
- Dette skal være det accepterede svar. Meget mere komplet.
- Hvad gør disse ekstra kommandoer?
- @Steiny Det får nøglen tillid til [ultimativ] i stedet for [ukendt]. gpgtools.tenderapp.com/kb/faq/…
Svar
Jeg importerede fra en sikkerhedskopi, der havde en gammel version af gpg. Da den gamle computer ikke var tilgængelig, kun sikkerhedskopien, kunne jeg ikke eksportere den først. Dette var det, der fungerede for mig.
gpg --import old_home_dir/.gnupg/pubring.gpg gpg --import old_home_dir/.gnupg/secring.gpg
Hvis du vil være i stand til at importer hemmelige nøgler uden at indtaste adgangssætningen med det samme, brug indstillingen --batch
.
For at kontrollere de offentlige nøgler:
gpg --list-keys
Sådan verificeres de hemmelige nøgler:
gpg --list-secret-keys
gpg2 -e -r [ID]
siger " Der er ingen sikkerhed for, at denne nøgle tilhører den navngivne bruger "? Jeg ville ønske, at jeg havde inkluderet det i det originale spørgsmål, men jeg bemærkede det først senere.