gpg2 및 git 서명

gpg2 및 git 서명

gpg2에 문제가 있고 git에서 커밋에 서명하는 데 문제가 있습니다. 재부팅하기 전에 어제 이 모든 것이 작동했다는 점을 먼저 말씀드리고 싶습니다 apt-get update && apt-get upgrade.

이제 커밋에 서명하려고 하면 다음과 같은 오류 메시지가 나타납니다.

gpg: skipped "3C27FEA3B5758D9E": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object

사실, 변경 사항을 숨기려고 하면 나도 알아차리는 것 같습니다.

pgrep을 실행하니 gpg-agent가 실행되는 것을 볼 수 있어서 종료하고 다시 시작했습니다.

내 파일에도 이 내용이 있습니다 .bashrc.

export GPG_TTY=$(tty)

출력 gpg2 --list-keys /home/mdhas/.gnupg/pubring.gpg:

------------------------------
pub   rsa2048/FBJJJJ1C 2017-10-11 [SC]
uid         [ultimate] Mark Dhas <[email protected]>
sub   rsa2048/3FDJJJJJ 2017-10-11 [E]

pub   rsa2048/BFJJJJJ7 2017-11-17 [SC]
uid         [ultimate] Mark Dhas <[email protected]>
sub   rsa2048/DEDDJJJJ 2017-11-17 [E]

pub   rsa4096/7137JJJJ 2017-10-11 [SC] [expires: 2021-10-11]
uid         [ unknown] co.co <[email protected]>
sub   rsa4096/A9BJJJJJ 2017-10-11 [E] [expires: 2021-10-11]

pub   rsa4096/B57JJJJJ 2018-10-31 [SC] [expires: 2021-10-31]
uid         [ unknown] Mark Dhas (New Key-Created on 2018-10-31) <[email protected]>
sub   rsa4096/36FJJJJJ 2018-10-31 [E] [expires: 2021-10-31]

JJJJJ는 무시하세요. 보안을 위해 시도된 사소한 편집입니다.

$ gpg2 --list-secret-keys
/home/mdhas/.gnupg/pubring.gpg
------------------------------
sec   rsa2048/FBJJJJ1C 2017-10-11 [SC]
uid         [ultimate] Mark Dhas <[email protected]>
ssb   rsa2048/3FDJJJJJ 2017-10-11 [E]

이것은 내 자식 구성의 일부입니다.

user.name=Mark Dhas
[email protected]
user.signingkey=3C2JJJJJJJJJJJJJ
core.editor=vim
gpg.program=/usr/bin/gpg2

이 문제를 해결하는 방법에 대한 아이디어가 있으면 좋을 것입니다.

답변1

GPG 키의 비공개 부분이 없습니다. GPG 키는 공개 키(다른 컴퓨터가 귀하의 서명 정보를 확인하는 데 사용할 수 있는 정보)와 개인 키(서명을 생성하거나 귀하에게 보낸 메시지를 해독하는 데 필요한 부분)로 구성됩니다. 이것이 Git이 오류를 발생시키는 이유입니다. 커밋에 서명하기 위한 개인 키를 얻을 수 없습니다. 유일한 옵션은 전체 키(개인 키 포함)의 백업을 찾거나 새 키를 만드는 것입니다.

관련 정보