ProgramingTip

git commit signing failed : 비밀 키를 사용할 수 없습니다.

bestdevel 2020. 11. 26. 19:38
반응형

git commit signing failed : 비밀 키를 사용할 수 없습니다.


Git을 사용하여 커밋하려고 할 때가 오류가 발생합니다.

gpg: skipped "name <name@mail.com>": secret key not available
gpg: signing failed: secret key not available
error: gpg failed to sign the data
fatal: failed to write commit object

여전히 같이 새 키를 생성했지만 여전히 오류가 발생합니다.

gpg --list-keys
~/.gnupg/pubring.gpg
--------------------------------
pub   2048R/35F5FFB2 2016-04-23
uid                  name (New key) <name@mail.com>
sub   2048R/112A8C2D 2016-04-23

비밀 키는 위와 동일합니다.

git 태그 지정을위한 GPG 키 생성 을 발견 하고 단계를 따랐지만 여전히 작동하지 않습니다.


사용하기 전에 비밀 키를 구성해야합니다.

git config user.signingkey 35F5FFB2

또는 모든 저장소에 동일한 키를 사용하십시오.

git config --global user.signingkey 35F5FFB2

출처 : https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work


나를 위해 일한 것은

git config --global gpg.program "C:/Program Files (x86)/GNU/GnuPG/gpg2.exe"

gpg2.exe의 전체 경로를 적층면 :

where gpg2.exe

이 Windows 10에서 나를 위해 일했습니다.

git config --global gpg.program "C:\Program Files (x86)\GnuPG\bin\gpg.exe"

이것은 수정하기 전에 내가 얻은 오류였습니다.

gpg: skipped "3E81C*******": secret key not available
gpg: signing failed: secret key not available
error: gpg failed to sign the data
fatal: failed to write commit object

이 모든 답변을 완료하고 싶습니다. 왜냐하면 이것에 많은 문제가 있기 때문입니다.

예제는 이러한 --global플래그를 사용 하지만 로컬에서 이러한 작업을 수행하려면 제거 할 수 있습니다.

git에서 비밀 키 구성

git config --global user.signingkey 35F5FFB2

git에서 witch gpg 프로그램 tu 사용 구성 (선택 사항)

일부 시스템 (예제를위한 우분투) 수 gpggpg2같은 시간에. 사용할 것을 지정해야합니다.gpg2

git config --global gpg.program gpg2

GPG_TTY 내보내기 (선택 사항)

ssh 환경 에서이 명령을 사용하면 다음 오류가 보관 수 있습니다. Inappropriate ioctl for device또는 gpg: échec de la signature : Ioctl() inapproprié pour un périphérique. 다음을 통해 사용할 수 있습니다.

export GPG_TTY=$(tty)

GPG 노래 자동 활성화 (옵션)

git config --global commit.gpgsign true

변수를 설정해야합니다 GNUPGHOME. 그것 없이는 GnuPG는 당신의 키를 사용할 수 없습니다.

# On unix add it to your path

# On windows it will usually be under: 
<drive>:\Users\<username>\AppData\Roaming\gnupg

Unix에서는 경로에 추가합니다.
Windows에서는 다음과 같이 설정해야합니다.

System Variable
  Name: GNUPGHOME
  Path: <drive>:\Users\<username>\AppData\Roaming\gnupg

.gitconfig의 git 이름과 이메일 저장소가 제공된 gpg 키의 것과 다르다는 점에서 동일한 문제가 발생했습니다 . 나는 그것들을 맞추기 위해 바꾸었고 작동하기 시작했습니다.


권한이있는 자신의 저장소를 복제해야 할 수도 있습니다. 다른 사람의 저장소를 복제 할 때이 문제가 발생했습니다.

참고 URL : https://stackoverflow.com/questions/36810467/git-commit-signing-failed-secret-key-not-available

반응형