Гайд: LIBUSB_ERROR_NO_DEVICE и pcscd с Рутокен в Astra Linux через VirtualHere - Часть 3

Гайд по устранению ошибок LIBUSB_ERROR_NO_DEVICE и сбоям pcscd при работе с Рутокен Лайт в Astra Linux через VirtualHere. Пошаговая диагностика.

2026.11.02                  


Гайд: LIBUSB_ERROR_NO_DEVICE и pcscd с Рутокен в Astra Linux через VirtualHere - Часть 3Гайд: LIBUSB_ERROR_NO_DEVICE и pcscd с Рутокен в Astra Linux через VirtualHere - Часть 3

10. Если используется виртуальная машина

Если у вас не локальный компьютер, а виртуальная машина, важно понять, как именно токен попадает внутрь.

10.1. Лучший вариант

Если вы управляете гипервизором:

  • пробросьте целый контроллер;
  • или пробросьте физический токен средствами гипервизора;
  • или используйте прямое подключение к хосту, на котором стоит клиент.

Нежелательно делать цепочку:

VirtualHere сервер → клиент на хосте → проброс виртуального устройства в гостевую ОС


Лучше:

токен → сервер → клиент внутри гостевой ОС

10.2. Если это облачная виртуалка

Если это облачная виртуалка, физический токен не подключен к хосту напрямую. Вы используете проброс через сеть от другой машины. Для смарт-карт это часто нестабильно.

В таких сценариях обычно есть только два рабочих пути:

  1. Использовать токен на локальной машине, а в виртуалку передавать уже подписанные документы или использовать сетевой сервис подписи.
  2. Использовать специализированные сетевые решения подписи или облачные подписи.

Если речь именно про удаленную виртуалку в облаке и токен физически находится в другом месте, шанс стабильной работы через сеть невелик, особенно через интернет.


11. Проверка стабильности токена в течение времени

Разовый успех pkcs11-tool не означает, что проброс стабилен.

Запустите циклическую проверку:

while true; do
  date
  pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --list-slots || break
  sleep 2
done

Параллельно смотрите:

sudo journalctl -u pcscd -f
sudo dmesg -wH

Если через несколько секунд или минут появляется ошибка — проблема транспорта.


12. Проверка Рутокена через OpenSC и PKCS#11

Если pcscd стабилен, проверьте токен.

12.1. Проверка имени карты

opensc-tool -n

12.2. Проверка слотов

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --list-slots

12.3. Проверка токенов

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --list-token-slots

12.4. Проверка объектов

Если токен инициализирован:

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --list-objects

Если нужна авторизация:

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --login --pin 'ВАШ_PIN' --list-objects

12.5. Проверка механизмов

pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --list-mechanisms

Если эти команды работают стабильно, а КриптоПро токен не видит — проблема не в pcscd, а в настройках КриптоПро или в формате контейнера на токене.


13. Почему КриптоПро видит флешки, но не видит токен

Это очень важный момент. КриптоПро может видеть контейнеры на флешке, потому что флешка — это файловая система. КриптоПро просто читает файлы контейнера с диска.

Токен — это не флешка. Для КриптоПро токен должен быть:

  1. Доступен как считыватель через PC/SC.
  2. Стабильно отвечать на команды.
  3. Содержать контейнер в формате КриптоПро или поддерживаться как совместимый аппаратный носитель.

Если на токене ключи созданы через:

  • Рутокен Панель управления;
  • OpenSSL;
  • PKCS#11;
  • другие криптографические библиотеки;

— КриптоПро может не воспринимать их как свои контейнеры. То есть токен может быть виден в pkcs11-tool, но не виден в КриптоПро, потому что КриптоПро ожидает свой формат ключевого контейнера.


14. Проверка компонентов КриптоПро

Проверьте установленные пакеты:

dpkg -l | grep -Ei 'cprocsp'

Для работы смарт-карт обычно нужен компонент поддержки, который в поставках КриптоПро часто называется примерно так:

cprocsp-rdr-pcsc

Если он не установлен, установите его из пакета КриптоПро.

Если используется репозиторий:

sudo apt install cprocsp-rdr-pcsc

Если установка из дистрибутива:

sudo dpkg -i /путь/к/пакету/cprocsp-rdr-pcsc*.deb

В зависимости от версии КриптоПро и дистрибутива название может отличаться. Ориентируйтесь на состав поставки вашей версии КриптоПро. Также в некоторых конфигурациях для токенов может требоваться отдельный компонент или настройка считывателей. Проверьте документацию к вашей версии КриптоПро.


15. Проверка КриптоПро из командной строки



Пути могут отличаться в зависимости от архитектуры.

Для 64-битной системы обычно используется:

/opt/cprocsp/bin/amd64/

Проверка сертификатов:

/opt/cprocsp/bin/amd64/certmgr -list

Просмотр ключевых контейнеров может отличаться в разных версиях.

Можно попробовать:

/opt/cprocsp/bin/amd64/csptest -keyset -enum_containers -verifycontext -fqcn

Если команда не принимает такие ключи, посмотрите справку:

/opt/cprocsp/bin/amd64/csptest -keyset -help

Также можно проверить считыватели, если в поставке есть утилита cpconfig:

/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view

Если команда недоступна, используйте графическую утилиту КриптоПро или документацию к вашей версии.


16. Проверка от пользователя и от root

Иногда токен виден только от root, потому что у пользователя нет доступа к сокету PC/SC.

Проверьте:

/opt/cprocsp/bin/amd64/certmgr -list

Затем:

sudo /opt/cprocsp/bin/amd64/certmgr -list

Если от root токен появляется, а от пользователя нет — проблема в правах доступа к /run/pcscd или в группах пользователя.


17. Если КриптоПро настроен на конкретный считыватель

Иногда в КриптоПро бывает настроен конкретный считыватель. При переподключениях через сеть имя считывателя может меняться.

Например:

Aktiv Rutoken lite 01 00

Может превращаться в:

Aktiv Rutoken lite 01 00 00

или похожий вариант.

Рекомендация:

  • не жестко привязываться к имени считывателя;
  • использовать вариант «все считыватели», если он доступен;
  • удалить старые несуществующие считыватели из настроек КриптоПро.

Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта