Intereting Posts
не может выполнить ping мой компьютер в локальной сети Как избежать повторения одной и той же команды в сценарии bash Регистрация sudo в двоичном формате? Вставить dmix в JACK Добавление файла текста с помощью Sed В чем смысл «той же самой CPU-группы» в ядре Linux? Mysql импортирует самый последний файл из каталога Добавление заголовка в исходящую электронную почту с постфиксным Как передать вывод скрипта команде ls без разделения данных? Uuencode отображает содержимое файла в элементе электронной почты вместо прикрепления файла в вложениях pysvn не удается выполнить из-за того, что -loneon не найден? Я установил java, и он работает, но когда я пытаюсь вернуть Java домой, он пуст В новой сенсорной панели Elantech отсутствует мультитач (последнее ядро) Скрыть историю команд от других пользователей на сервере Linux Как настроить `less` для печати, начиная с верхней части окна терминала?

Почему GnuPG 2 и gpg-connect-agent не работают с «ERR 67108983 No SmartCard daemon»?

Используя Debian Jessie и GnuPG 2, каждый раз, когда я пытаюсь использовать GnuPG 2 ( gpg2 ) или gpg-connect-agent вместе с смарт-картой OpenPGP (в моем случае YubiKey), операция завершается с сообщением

 $ gpg-connect-agent --hex "scd apdu 00 f1 00 00" /bye ERR 67108983 No SmartCard daemon <GPG Agent> $ gpg2 --card-status ERR 67108983 No SmartCard daemon <GPG Agent> 

При использовании устаревшего GnuPG 1 ( gpg ) все работает нормально.

Что здесь происходит?

scdaemon отсутствует

GnuPG 2 соединяется с картой через gpg-agent , что опять же не включает возможности смарт-карты, но обращается к ним через другое приложение. Это может быть настроено и зависит от системы по умолчанию от man gpg-agent от man gpg-agent :

 --scdaemon-program filename Use program filename as the Smartcard daemon. The default is installation dependent and can be shown with the gpgconf command. 

Таким образом, GnuPG пытается запустить /usr/lib/gnupg2/scdaemon :

 $ gpgconf gpg:GPG für OpenPGP:/usr/bin/gpg2 gpg-agent:GPG Agent:/usr/bin/gpg-agent scdaemon:Smartcard Daemon:/usr/lib/gnupg2/scdaemon [snip] 

Но это не доступно:

 $ /usr/lib/gnupg2/scdaemon bash: /usr/lib/gnupg2/scdaemon2: No such file or directory 

Установка scdaemon

Быстрый запрос через apt-cache показывает, что Debian вытащил scdaemon из пакета gnupg2 , вероятно, потому что он вводит кучу новых зависимостей GnuPG, иначе бы не было:

 Package: scdaemon Source: gnupg2 Version: 2.1.10-3 Installed-Size: 538 Maintainer: Debian GnuPG Maintainers <pkg-gnupg-maint@lists.alioth.debian.org> Architecture: amd64 Replaces: gpgsm (<< 2.0.18-2) Depends: gnupg-agent (= 2.1.10-3), libassuan0 (>= 2.2.0), libc6 (>= 2.15), libgcrypt20 (>= 1.6.1), libgpg-error0 (>= 1.14), libksba8 (>= 1.2.0), libnpth0 (>= 0.90), libusb-0.1-4 (>= 2:0.1.12) Breaks: gpgsm (<< 2.0.18-2) Description-en: GNU privacy guard - smart card support GnuPG is GNU's tool for secure communication and data storage. It can be used to encrypt data and to create digital signatures. It includes an advanced key management facility and is compliant with the proposed OpenPGP Internet standard as described in RFC4880. . This package contains the smart card program scdaemon, which is used by gnupg-agent to access OpenPGP smart cards. 

Установка его с помощью sudo apt-get install scdaemon решает проблему.