Я запускаю Fedora 22. Я намагаюся налаштувати GnuPG, щоб мої SSH-з'єднання були аутентифіковані за допомогою мого підрозділу аутентифікації PGP, який знаходиться на моєму Yubikey Neo.
У мене системний блок запускає gpg-агент таким чином:
/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 деякий виклик ioctl виявляється невдалим під час виклику стипендії. Однак якщо я запускаю наступне:
$ echo "Test" | gpg2 -s
З'являється вікно PIN-коду, і все працює нормально.
Чи можете ви допомогти мені зрозуміти, що відбувається з цією установкою та SSH?
tar
доgpg2
на Mac OS X і відповідь Vigo в вирішити це для мене.