Próbuję skopiować mój klucz gpg z jednego komputera na inny.
Robię:
gpg --export ${ID} > public.key gpg --export-secret-key ${ID} > private.key
Przenieś pliki na nowy komputer, a następnie:
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]
Wszystko wygląda dobrze, ale wtedy:
$ 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
Więc komunikat o błędzie mówi, że plik został zaszyfrowany przy użyciu [SUB-ID], który wydaje się, że import tajnego klucza jest taki, że został zaimportowany. [SUB-ID] w obu wiadomościach jest takie samo).
Więc wyraźnie robię coś złego, ale nie wiem co.
Odpowiedź
Aby zaimportować klucz prywatny, musisz dodać --import
do wiersza poleceń. Nie musisz używać . Zgodnie ze stroną podręcznika:” To jest przestarzała opcja i nie jest nigdzie używana. „
gpg --import private.key
Komentarze
Odpowiedź
Powyższa odpowiedź jest tylko częściowa. Pełna odpowiedź to:
gpg --import private.key
-
Biorąc pod uwagę KEYID (np.
FA0339620046E260
) z danych wyjściowych :gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes)
-
LUB użyj poniższego automatycznego polecenia:
expect -c "spawn gpg --edit-key {KEY} trust quit; send \"5\ry\r\"; expect eof"
Na koniec sprawdź ten klucz jest teraz zaufany z [ultimate]
zamiast [unknown]
gpg --list-keys
Komentarze
- To powinna być zaakceptowana odpowiedź. Znacznie bardziej kompletne.
- Co robią te dodatkowe polecenia?
- @Steiny Sprawia, że klucz jest zaufany dzięki [ultimate] zamiast [nieznane]. gpgtools.tenderapp.com/kb/faq/…
Odpowiedź
Importowałem z kopii zapasowej, która miała starą wersję gpg. Ponieważ stary komputer nie był dostępny, tylko kopia zapasowa, nie mogłem go najpierw wyeksportować. To właśnie zadziałało w moim przypadku.
gpg --import old_home_dir/.gnupg/pubring.gpg gpg --import old_home_dir/.gnupg/secring.gpg
Jeśli chcesz mieć możliwość zaimportuj tajne klucze bez natychmiastowego wprowadzania hasła, użyj opcji --batch
.
Aby zweryfikować klucze publiczne:
gpg --list-keys
Aby zweryfikować tajne klucze:
gpg --list-secret-keys
gpg2 -e -r [ID]
mówi " Nie ma pewności, że ten klucz należy do wymienionego użytkownika "? Żałuję, że nie uwzględniłem tego w pierwotnym pytaniu, ale zauważyłem to dopiero później.