한 컴퓨터에서 다른 컴퓨터로 GPG 키를 복사하려고 합니다.
나는 다음을 원한다:
gpg --export ${ID} > public.key
gpg --export-secret-key ${ID} > private.key
파일을 새 컴퓨터로 이동한 후 다음을 수행합니다.
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]
내가 보기에는 모든 것이 괜찮아 보이지만,
$ 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
따라서 오류 메시지는 파일이 [SUB-ID]로 암호화되었음을 나타내며 키 가져오기는 해당 파일을 가져온 것으로 나타납니다. ([SUB-ID]는 두 메시지 모두 동일합니다.)
그래서 분명히 뭔가 잘못하고 있는 것 같지만, 무엇인지는 모르겠습니다.
답변1
--import
가져온 개인 키를 명령줄에 추가 해야 합니다 . (이 플래그를 사용할 필요는 없습니다 --allow-secret-key-import
. 매뉴얼 페이지에 따르면 "이것은 더 이상 사용되지 않는 옵션이며 어디에도 사용되지 않습니다.")
gpg --import private.key
답변2
이는 답변 중 일부일 뿐입니다. 완전한 대답은 다음과 같습니다.
gpg --import private.key
FA0339620046E260
출력에 KEYID가 주어지면(예를 들어):gpg --edit-key {KEY} trust quit # enter 5<RETURN> (I trust ultimately) # enter y<RETURN> (Really set this key to ultimate trust - Yes)
또는 다음 자동 명령을 사용하십시오.
expect -c 'spawn gpg --edit-key {KEY} trust quit; send "5\ry\r"; expect eof'
마침내,확인하다이제 키가 [ultimate]
대신 신뢰됩니다.[unknown]
gpg --list-keys
답변3
이전 버전의 gpg가 있는 백업에서 가져오고 있습니다. 이전 컴퓨터를 사용할 수 없고 백업만 있기 때문에 먼저 내보낼 수 없습니다. 이것은 나에게 효과적입니다.
gpg --import old_home_dir/.gnupg/pubring.gpg
gpg --import old_home_dir/.gnupg/secring.gpg
--batch
비밀번호를 즉시 입력하지 않고 키를 가져오려면 이 옵션을 사용하십시오 .
공개 키 확인:
gpg --list-keys
키를 확인하려면:
gpg --list-secret-keys