한 시스템에서 다른 시스템으로 내 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 

코멘트

  • ' gpg2 -e -r [ID]가 이 키가 명명 된 사용자에게 속한다는 보장이 없습니다 "? 원래 질문에 포함 시켰 으면했지만 나중에 알게되었습니다.
  • GnuPG는 어떤 키를 얼마나 신뢰할 것인지 결정하는 데 사용하는 신뢰 데이터베이스를 유지합니다. 예를 들어 자신의 키를 가장 많이 신뢰하고 ' 신뢰할 수있는 키에 의해 직접 또는 간접적으로 서명되지 않은 키는 가장 적게 신뢰합니다. ' 빈 데이터베이스로 방금 가져온 후에는 신뢰할 수있는 키가 전혀 없을 수 있습니다. 이 신뢰 데이터베이스는 데이터베이스 또는 키 자체와 분리되어 있으므로 이미 신뢰할 수있는 키로 서명하지 않는 한 키를 가져와도 신뢰할 수 없습니다. 개별적으로 신뢰하고 싶은 키를 GnuPG로 훔쳐 야합니다.
  • @Celeda, 감사합니다. –edit-key와 신뢰 명령을 사용하여 키를 신뢰할 수있게되었습니다. 내 원래 질문은 한 시스템에서 다른 시스템으로 키를 복사하는 방법 이었으므로 대답에 그것에 대해 추가하는 것이 적절할 것이라고 생각합니다. 나는 ' 답변을 직접 수정하지 않는 것을 선호하며, 이에 대해 나보다 더 많이 알고있는 것 같습니다.
  • 나는 ' 내 대답에 대해 이야기 할만큼 trustdb를 잘 이해하고 있다고 생각하지 않습니다. 저는 ' 제 의견에서 제공 한 모호한 힌트를 사용하여 문제를 해결할 수있어서 기쁩니다.
  • 알겠습니다. ' 원래 질문의 제목을 다시 지정하여보다 구체적으로 답변에 적합합니다. 그렇게하면 trustdb에 별도의 질문을 할 수 있습니다. 도와 주셔서 감사합니다. 🙂

답변

위는 부분적 답변 일뿐입니다. 완전한 대답은 다음과 같습니다.

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  

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다