한 시스템에서 다른 시스템으로 내 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]는 동일합니다.)
그래서 분명히 뭔가 잘못하고 있지만 무엇을하는지 모르겠습니다.
답변
개인 키를 가져 오려면 명령 줄에 --import
를 추가해야합니다. 플래그. man 페이지에 따르면”이 옵션은 더 이상 사용되지 않으며 어디에도 사용되지 않습니다. “
gpg --import private.key
코멘트
답변
위는 부분적 답변 일뿐입니다. 완전한 대답은 다음과 같습니다.
gpg --import private.key
-
출력에서 KEYID (예 :
FA0339620046E260
) 제공 :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"
마지막으로 확인 키가 이제 [unknown]
gpg --list-keys
댓글
- 정답이되어야합니다. 훨씬 더 완벽합니다.
- 이러한 추가 명령의 기능은 무엇입니까?
- @Steiny [unknown] 대신 [ultimate]로 키를 신뢰하게 만듭니다. gpgtools.tenderapp.com/kb/faq/ …
답변
이전 버전의 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
gpg2 -e -r [ID]
가 이 키가 명명 된 사용자에게 속한다는 보장이 없습니다 "? 원래 질문에 포함 시켰 으면했지만 나중에 알게되었습니다.