Fedora 22를 실행하고 있습니다. Yubikey Neo에있는 PGP 인증 하위 키를 사용하여 SSH 연결을 인증하도록 GnuPG를 설정하려고합니다.
다음과 같이 gpg-agent를 시작하는 시스템 장치가 있습니다.
/usr/bin/gpg-agent --homedir=%h/.gnupg --daemon --use-standard-socket
그리고 구성에서 SSH 지원을 활성화했습니다.
enable-ssh-support
pinentry-program /usr/bin/pinentry-gtk
설정의 다른 부분에는 파일 에 내 키의 키 그립~/.gnupg/sshcontrol
추가 , 원격 호스트에 공개 키 추가 및 환경 변수 선언이 포함 됩니다 .
전 세계적으로 설정이 작동하는 다양한 로그를 살펴보면 SSH가 키를 찾지 만 실제로는 서명하지 못하는 것을 알 수 있습니다. 에서 로그를 보면 프로그램 gpg-agent
을 시작하지 못하여 pinentry
PIN 코드를 요청하지 않는 것을 알 수 있습니다.
2015-07-22 23:23:28 gpg-agent[6758] DBG: error calling pinentry: Ioctl() inappropriate for a device <Pinentry>
2015-07-22 23:23:28 gpg-agent[6758] DBG: chan_8 -> BYE
2015-07-22 23:23:28 gpg-agent[6758] DBG: chan_7 -> CAN
2015-07-22 23:23:28 gpg-agent[6758] DBG: chan_7 <- ERR 100663573 The IPC call was canceled <SCD>
2015-07-22 23:23:28 gpg-agent[6758] smartcard signing failed: Ioctl() inappropriate for a device
2015-07-22 23:23:28 gpg-agent[6758] ssh sign request failed: Ioctl() inappropriate for a device <Pinentry>
여기서 볼 수있는 것은 SSH와 함께 사용하면 pinentry를 호출 할 때 일부 ioctl 호출이 실패한다는 것입니다. 그러나 내가 다음을 실행하면 :
$ echo "Test" | gpg2 -s
PIN 창이 나타나고 모두 정상적으로 작동합니다.
이 설정과 SSH로 무슨 일이 일어나고 있는지 이해할 수 있습니까?
tar
에gpg2
맥 OS X와에 비고의 대답은 나를 위해 그것을 해결.