Jeg har generert nøkler ved hjelp av GPG, ved å utføre følgende kommando
gpg --gen-key
Nå må jeg eksportere nøkkelparet til en fil; dvs. private og offentlige nøkler til henholdsvis private.pgp
og public.pgp
. Hvordan gjør jeg det?
Kommentarer
Svar
Eksporter offentlig nøkkel
Denne kommandoen eksporterer en ascii-pansret versjon av offentlig nøkkel:
gpg --output public.pgp --armor --export username@email
Eksporter hemmelig nøkkel
Denne kommandoen eksporterer en ascii pansret versjon av den hemmelige nøkkelen:
gpg --output private.pgp --armor --export-secret-key username@email
Sikkerhetsbekymringer, sikkerhetskopiering og lagring
En offentlig PGP-nøkkel inneholder informasjon omtrent en e-postadresse. Dette er vanligvis akseptabelt siden den offentlige nøkkelen brukes til å kryptere e-post til adressen din. I noen tilfeller er dette imidlertid uønsket.
For de fleste brukstilfeller er den hemmelige nøkkelen trenger ikke eksporteres og skal ikke d istribuert . Hvis formålet er å lage en sikkerhetskopinøkkel, bør du bruke alternativet for sikkerhetskopiering:
gpg --output backupkeys.pgp --armor --export-secret-keys --export-options export-backup user@email
Dette vil eksportere all nødvendig informasjon til gjenopprette hemmelighetsnøklene inkludert informasjon om tillitsdatabasen. Forsikre deg om at du lagrer sikkerhetskopihemmelige nøkler utenfor databehandlingsplattformen og på et sikkert fysisk sted.
Hvis denne nøkkelen er viktig for deg, anbefaler jeg at du skriver ut nøkkelen på papir med paperkey . Og plassere papirnøkkelen i en brannsikker / vanntett safe.
Public Key Servers
Generelt sett er det ikke tilrådelig å legge personlige offentlige nøkler til nøkkelservere. Det er ingen metode for å fjerne en nøkkel når den er lagt ut, og det er ingen metode for å sikre at nøkkelen på serveren ble plassert der av den antatte eieren av nøkkelen.
Det er mye bedre å plassere den offentlige nøkkelen på et nettsted du eier eller kontrollerer. Noen anbefaler keybase.io for distribusjon. Imidlertid sporer den metoden deltakelse i ulike sosiale og tekniske miljøer som kanskje ikke er ønskelig for noen brukssaker.
For teknisk dyktige anbefaler jeg personlig å prøve webkey domain discovery key service.
Kommentarer
- Er den eksporterte nøkkelen (andre kommando) kryptert eller må jeg kryptere den selv før jeg lagrer den på ag en USB-stasjon?
- @Julian … Den eksporterte hemmelige nøkkelen har samme beskyttelse som den hemmelige nøkkelen som ble eksportert. Hvis det var en passordfrase, kreves passordfrasen for å importere den hemmelige nøkkelen.
- Jeg tok en sikkerhetskopi ved hjelp av metoden ovenfor, men glemte tullingen å teste den. Med mindre jeg ' mangler noe, kan jeg ' ikke synes å gjenopprette min offentlige nøkkel fra den angitte sikkerhetskopimetoden (
--export-options export-backup
osv.). Mangler jeg noe, eller misforsto jeg hva slags sikkerhetskopiering det gjorde? - Dokumentasjonen vet
--export-secret-keys
, men ikke--export-secret-key
. - @OMGtechy Hvordan prøvde du å gjenopprette nøkkelen (e)? Jeg kunne gjenopprette offentlige nøkler med
gpg --import-options restore --import backupkeys.pgp
, men det gjenoppretter ikke hemmelige nøkler, bare de offentlige hvis backupkeys.pgp ble opprettet avgpg --output backupkeys.pgp --armor --export --export-options export-backup
. I og med at--armor
ikke er nødvendig, ogexport-backup
kan erstattes avbackup
.
Svar
- Oppgi nøklene du har:
gpg --list-secret-keys
- Eksporter nøkkelen:
gpg --export-secret-key name > ~/my-key.asc
- Kopier den på en annen maskin;
- Importer nøkkelen:
gpg --import my-key.asc
Kommentarer
- Merk at
.asc
for ASCII, men utgangen fragpg --list-secret-keys
er binær. - Egentlig er .asc for
ASCII armored
er kryptert tekst. Du kan trygt katte det og se selv. I likhet med de fleste linux-filer er også filtypen vilkårlig, trenger ikke ' t å være asc. @WeihangJian - Det vil være lurt å fjerne nøkkelfilen etter at den er importert og testet. Hvis filen sitter der, kan den brukes skadelig.
Svar
Til export
SOMEKEYID offentlig nøkkel til en output
fil:
gpg --output public.pgp --export SOMEKEYID
Når du arbeider med hemmelige nøkler, er det generelt å foretrekke å ikke skrive dem til filer og, I stedet bruker du SSH til å kopiere dem direkte mellom maskiner som bare bruker gpg
og et rør:
gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import
Hvis du må imidlertid sende den hemmelige nøkkelen til en fil, må du sørge for at den er kryptert. Her kan du oppnå det ved å bruke AES-kryptering ved hjelp av Dark Otter-tilnærming :
gpg --output public.gpg --export SOMEKEYID && \ gpg --output - --export-secret-key SOMEKEYID |\ cat public.gpg - |\ gpg --armor --output keys.asc --symmetric --cipher-algo AES256
Den siste tilnærmingen er ideell hvis du vil lage en fysisk sikkerhetskopi av dine offentlige og private nøkler for å beskytte deg mot en diskfeil når det ikke finnes noen annen måte å få tilgang til nøklene dine på nytt.
Se Flytte GPG-nøkler privat for ytterligere hensyn.
Svar
» GnuPG (aka PGP / GPG) « Mer informasjon
Generer nøkkel: gpg --gen-key
Vis alle nøkler: gpg --list-keys
Eksporter offentlig nøkkel:
gpg --export -a --output [path-to-public-key].asc [email-address]
Eksporter hemmelig nøkkel:
gpg -a --export-secret-keys > [path-to-secret-key].asc
gpg --full-generate-key
for å ha et fullt grensesnitt for generering av nøkler