ANTEGRAL
ANTEGRAL BLOG
ANTEGRAL
전체 방문자
오늘
어제

인기 글

최근 댓글

hELLO · Designed By 정상우.
ANTEGRAL

ANTEGRAL BLOG

Development

vscode에서 GPG 커밋 사이닝시 error: gpg failed to sign the data 오류 해결 방법

2022. 11. 2. 15:15
반응형

발단

vscode에 GPG를 사용한 커밋 사이닝 시에 다음과 같은 오류가 발생하였다.

error: gpg failed to sign the data

Git Log를 자세히 살펴보니 다음과 같았다.

error: gpg failed to sign the data
fatal: failed to write commit object

심지어, pinentry 설치와 GPG 경로 설정도 정상적으로 되어 있는 상태임을 확인하였다.

하지만 이 문제는 GPG Key에 Passphrase가 걸려있어 발생하는 문제였다.

해결 방법

1. 임시로 GPG 키를 한번 사용하여 해결

먼저, settings.json에서 다음과 같은 구문을 삽입한다.

"git.enableCommitSigning": true

본 구문을 삽입후 vscode에 빌트인된 쉘을 열고 다음을 입력함으로써 해결할 수 있다.

echo 'GPG Unlocked.' | gpg2 -e -r <Key ID> | gpg2 -d

단, 이경우는 캐시에 의존하므로, ~/.gnupg/gpg-agent.conf을 열어 다음을 추가하는 것을 권장한다.

max-cache-ttl 32400
default-cache-ttl 32400

이제 32400초, 즉 9시간 동안 키를 사용할 수 있다.

2. TTY를 사용하여 vscode에서 비밀번호를 입력하도록 하기

본 솔루션은 출처에 적힌 내용을 인용하였습니다.
필자는 1번 솔루션을 사용하여 해결하였기 때문에 본 솔루션이 작동 여부를 확인하지 않았습니다.
출처: https://github.com/microsoft/vscode/issues/130415#issuecomment-1051780429

먼저, settings.json에서 다음과 같은 구문을 삽입한다.

"git.enableCommitSigning": true

~/.bashrc 를 열고 마지막 줄을 줄바꿈 후, 다음 구문을 삽입한다.

export GPG_TTY=$(tty)

삽입 후 다음 명령어를 입력하여 설정을 마친다.

source ~/.bashrc

만약, 본 방법이 작동하지 않는다면, 같은 방법을 ~/.bash_profile 파일에 그대로 적용하면 될 것이다.

반응형
저작자표시 비영리 변경금지 (새창열림)
    ANTEGRAL
    ANTEGRAL
    개발 정보를 모아놓은 곳입니다.

    티스토리툴바