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

  • Enhver chance for at du ' d også ved hvorfor 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.
  • GnuPG vedligeholder en tillidsdatabase, som den bruger til at beslutte, hvor meget man skal have tillid til hvilke nøgler. Stol for eksempel mest på dine egne nøgler, nøgler, der ikke er ', ikke direkte eller indirekte underskrevet af enhver betroet nøgle mindst. Når du ' lige har importeret til en tom database, er sandsynligvis ingen nøgler overhovedet klarede. Denne tillidsdatabase er adskilt fra selve databasen eller nøglerne, så import af nøgler gør dem ikke betroede, medmindre de er underskrevet af en eller anden allerede betroet nøgle. Du er nødt til at stjæle GnuPG hvilke nøgler du vil have tillid til separat.
  • @Celeda, tak, med –edit-key og og tillidskommandoen, det lykkedes mig at få nøglen tillid. Da mit originale spørgsmål var, hvordan man kopierede nøglen fra en maskine til en anden, synes jeg det ville være passende at tilføje noget om det til dit svar. Jeg ' foretrækker ikke at redigere dit svar selv, og du synes at vide meget mere end mig om dette.
  • Jeg don ' føler ikke, at jeg forstår trustdb nok til at tale om det i mit svar. Jeg ' er glad for, at du var i stand til at finde ud af det ved hjælp af de vage tip, jeg gav i min kommentar.
  • Ok, jeg ' har omdøbt det originale spørgsmål, så det mere specifikt passer med svaret. På den måde kan jeg stille et separat spørgsmål til trustdb. Tak for hjælpen. 🙂

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  

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *