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

  • Enhver sjanse for at du ' d også vet hvorfor 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.
  • GnuPG vedlikeholder en tillitsdatabase som den bruker til å bestemme hvor mye du skal stole på hvilke nøkler. Stol på for eksempel dine egne nøkler mest, nøkler som ikke er ' t, direkte eller indirekte signert av alle pålitelige nøkler minst. Etter at du ' nettopp har importert til en tom database, er sannsynligvis ingen nøkler i det hele tatt klarert. Denne tillitsdatabasen er atskilt fra selve databasen eller nøklene, så import av nøkler gjør dem ikke klarerte med mindre de er signert av noen allerede klarert nøkkel. Du må stjele GnuPG hvilke nøkler du vil stole på hver for seg.
  • @Celeda, takk, med –edit-key og tillitskommandoen jeg klarte å få nøkkelen klarert. Siden det opprinnelige spørsmålet mitt var hvordan jeg skulle kopiere nøkkelen fra en maskin til en annen, tror jeg det vil være riktig å legge til noe om det i svaret ditt. Jeg ' foretrekker ikke å redigere svaret ditt selv, og du ser ut til å vite mye mer enn meg om dette.
  • Jeg vet ikke ' føler ikke at jeg forstår trustdb godt nok til å snakke om det i svaret mitt. Jeg ' er glad for at du klarte å finne ut av de vage hintene jeg ga i kommentaren min.
  • Ok, jeg ' Vi har tittelen på det originale spørsmålet, så det mer spesifikt passer med svaret. På den måten kan jeg stille et eget spørsmål trustdb. Takk for hjelpen. 🙂

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  

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *