개인 키에 액세스하면 GPG가 멈춤


16

나는 내 PGP 키로 내 자식 커밋에 서명하고 싶다. 그래서 내가 갈 때 꽤 놀라지 git commit -S만 내 PGP 키 암호 문구를 묻는 대신 git이 멈추기 시작했다. 몇 달 동안 GPG 설정을 변경하지 않았으며 그 이후 아무런 문제없이 많은 커밋을했습니다. 또한로 개인 키를 보려고 gpg -K하면 gpg가 중단됩니다. 그러나 gpg -k공개 키를 보려고 실행 하면 일반 키처럼 목록이 반환됩니다. 바라건대 누군가 가이 문제를 일으키는 원인과 해결 방법에 대해 알 수 있기를 바랍니다.


ssh를 통해이 작업을 수행하고 있습니까? 그렇다면 gpg-agent원격 시스템의 .bashrc 등에서 설정이 비슷하고 원격의 X 디스플레이 또는 이와 유사한 메시지를 표시하도록 구성되어 있습니까? 나는 과거에 비슷한 문제를 겪었습니다 (예 : mythtv 상자의 터미널에서 데스크탑 컴퓨터로 ssh-ing하여 gpg가 필요한 것을 실행했습니다.와 비슷한 문제가 발생했습니다 ssh-agent) export GPG_TTY=$(tty). .bashrc, 프롬프트가 항상 현재 tty에 있는지 확인하십시오. 어쨌든 GUI 암호 프롬프트를 참을 수 없습니다.
cas

1
아니요, SSH를 통해하지 않습니다. 이상한 점은 gpg-agent를 죽이면 gpg가 다시 작동한다는 것을 알았습니다. 이유를 파악하고 장기적인 해결책을 찾으려고합니다.
John Leuenhagen

방금 gpg-agent맨 페이지 에서 위와 같이 GPG_TTY를 설정하는 것이 작동하기 위해 해킹 한 것이 아니라는 것을 알았습니다. 맨 페이지에는 내가했던 것처럼 항상 .bashrc에 설정해야한다고 말합니다 It is important that this environment variable always reflects the output of the tty command.. 주의해야 할 또 다른 사항은 gpg-agent에서 사용하는 집게 프로그램입니다. 난 내 세트 (에있는 ~/.gnupg/gpg-agent.conf로를)/usr/bin/pinentry-curses
CAS

답변:


21

이 정확한 문제를 발견했습니다 (OSX Sierra 10.12.6, gpg / GnuPG 2.2.5)

중단되는 명령 :

gpg -K # --list-secret-keys
gpg -d # --decrypt
gpg --edit-key
gpgconf --kill gpg-agent

내 솔루션은 how-can-i-restart-gpg-agent대한 대부분의 다른 방법 도 중단 되므로 위의 John이 언급 한 것과 동일합니다 (예 : kill gpg-agent) .

# Solution    
pkill -9 gpg-agent

그런 다음 git commits에 서명하기 위해 위의 casgpg-failed-to-sign-commit-object 에서 언급 한대로 tty env를 설정 했습니다 .

export GPG_TTY=$(tty)

재부팅 할 때마다 gpg를 다시 죽여야합니까? 그게 내가 오랫동안해야했던 일입니다. 문제를 해결할 수있는 방법을 찾길 바랍니다.
John Leuenhagen

방금 문제가 발생하기 시작했습니다. 를 죽이는 gpg-agent것이 다시 작동하는 유일한 방법 인 것 같습니다.
Alexis Tyler
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.