Fedora 22 çalıştırıyorum. Yubikey Neo'da bulunan PGP kimlik doğrulama alt anahtarımı kullanarak SSH bağlantılarımın kimlik doğrulaması için GnuPG'yi kurmaya çalışıyorum.
Gpg-agent'ı aşağıdaki gibi başlatan bir systemd birimim var:
/usr/bin/gpg-agent --homedir=%h/.gnupg --daemon --use-standard-socket
Ve yapılandırmada SSH desteğini etkinleştirdim:
enable-ssh-support
pinentry-program /usr/bin/pinentry-gtk
Kurulumun diğer parçalar ekleyerek içerir keygrip benim anahtarın ~/.gnupg/sshcontrol
, dosyanın benim ekleyerek ortak anahtarı uzak ana ve ilan ortam değişkenleri .
Küresel olarak, kurulumun işe yaradığı çeşitli günlüklere bakarken, SSH'nin anahtarı bulduğunu ancak aslında imzalamadığını görebiliyorum. Eğer günlüklere bakarsanız gpg-agent
, pinentry
programı başlatamadığını ve bu nedenle PIN kodunu istemediğini görebiliyorum:
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>
Burada gördüğümüz şey, SSH ile birlikte kullanıldığında, pinentry çağrılırken bazı ioctl çağrılarının başarısız olmasıdır. Ancak aşağıdakileri çalıştırırsam:
$ echo "Test" | gpg2 -s
PIN penceresi açılır ve her şey yolunda gider.
Bu kurulum ve SSH ile neler olup bittiğini anlamama yardımcı olabilir misiniz?
tar
içingpg2
Mac OS X ve üzerinde Vigo'nun cevap benim için çözüldü.