Восстановление работы SSW с токеном
Периодически возникают вопросы по отключению (отваливанию) usb-токена, что впоследствии приводит к остановке ds. Для предотвращения отключения usb-токена или, в случае отключения, восстановления его работы с SSW необходимо:
1. Проверьте текущее состояния подключения к токену, выполнив следующую команду текущим пользователем:
ecss-check-token
В результате выполнения команды при успешном варианте нахождения токена система покажет его наличие и слот, к которому он подключен:
ecss-check-token ruToken found (Bus 001 Device 003: ID 0a89:0030). Cryptoki version 2.20 Manufacturer Aktiv Co. Library Rutoken ECP PKCS #11 library (ver 1.9) Using slot 0 with a present token (0x0) Available slots: Slot 0 (0x0): Aktiv Rutoken ECP 00 00 token label : test_21_12 token manufacturer : Aktiv Co. token model : Rutoken ECP token flags : login required, rng, token initialized, PIN initialized hardware version : 54.1 firmware version : 23.0 serial num : 3d216006 pin min/max : 6/32 Slot 1 (0x1): (empty) Slot 2 (0x2): (empty) Slot 3 (0x3): (empty) Slot 4 (0x4): (empty) Slot 5 (0x5): (empty) Slot 6 (0x6): (empty) Slot 7 (0x7): (empty) Slot 8 (0x8): (empty) Slot 9 (0x9): (empty) Slot 10 (0xa): (empty) Slot 11 (0xb): (empty) Slot 12 (0xc): (empty) Slot 13 (0xd): (empty) Slot 14 (0xe): (empty)
Вариант выполнения команды, когда токен не подключен:
ecss-check-token ERROR: No tokens found.
Также можно воспользоваться ресурсами Linux ОС:
pkcs11-tool --module /usr/lib/ecss/ecss-ds/lib/lpm_storage-<версия пакета>/priv/x64/librtpkcs11ecp.so -L
sudo lsusb -v | grep -C 10 "Rutoken ECP"
Ответ системы при использовании ресурсов Linux OC:
pkcs11-tool --module /usr/lib/ecss/ecss-ds/lib/lpm_storage-16.3.1278.76343.070567/priv/x64/librtpkcs11ecp.so -L Available slots: Slot 0 (0x0): Aktiv Rutoken ECP 00 00 token label : test_21_12 token manufacturer : Aktiv Co. token model : Rutoken ECP token flags : login required, rng, token initialized, PIN initialized hardware version : 54.1 firmware version : 23.0 serial num : 3d216006 pin min/max : 6/32 Slot 1 (0x1): (empty) Slot 2 (0x2): (empty) Slot 3 (0x3): (empty) Slot 4 (0x4): (empty) Slot 5 (0x5): (empty) Slot 6 (0x6): (empty) Slot 7 (0x7): (empty) Slot 8 (0x8): (empty) Slot 9 (0x9): (empty) Slot 10 (0xa): (empty) Slot 11 (0xb): (empty) Slot 12 (0xc): (empty) Slot 13 (0xd): (empty) Slot 14 (0xe): (empty)
пример:
sudo lsusb -v | grep -C 10 "Rutoken ECP"
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 16
idVendor 0x0a89
idProduct 0x0030
bcdDevice 1.00
iManufacturer 1 Aktiv
iProduct 2 Rutoken ECP
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 93
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
пример:
sudo lsusb -v | grep -C 10 "Rutoken ECP" pkcs11-tool --module /usr/lib/ecss/ecss-ds/lib/lpm_storage-16.3.1278.76343.070567/priv/x64/librtpkcs11ecp.so -L Available slots: Slot 0 (0x0): (empty) Slot 1 (0x1): (empty) Slot 2 (0x2): (empty) Slot 3 (0x3): (empty) Slot 4 (0x4): (empty) Slot 5 (0x5): (empty) Slot 6 (0x6): (empty) Slot 7 (0x7): (empty) Slot 8 (0x8): (empty) Slot 9 (0x9): (empty) Slot 10 (0xa): (empty) Slot 11 (0xb): (empty) Slot 12 (0xc): (empty) Slot 13 (0xd): (empty) Slot 14 (0xe): (empty)
2. Для более стабильной работы токена необходимо настроить питание usb-портов, так как наиболее часто проблема возникает по причине решения ОС управлять питанием usb-портов в неподходящий момент. Проверьте конфигурацию usb-портов по умолчанию:
cat /sys/bus/usb/devices/*/power/control
Пример вывода команды:
cat /sys/bus/usb/devices/*/power/control on auto auto auto
Последние две строчки — это два usb-порта со значением по умолчанию «auto», то есть ОС автоматически может управлять питанием. Замените значения «auto» на «on» (постоянно включен), выполнив команду:
sudo nano /sys/bus/usb/devices/<usb порт>/power/control
Проверьте конфигурацию портов, она должна выглядеть следующим образом:
cat /sys/bus/usb/devices/*/power/control on on on on
3. Для восстановления доступа к токену необходимо предварительно установить утилиту управления usb. Выполните следующие команды:
sudo snap install core
sudo snap install usb-reset
sudo snap connect usb-reset:hardware-observe core:hardware-observe
sudo snap connect usb-reset:raw-usb core:raw-usb
Вывод сообщений ОС:
sudo snap install core 2025-06-17T17:40:53+07:00 INFO Waiting for automatic snapd restart... core 16-2.61.4-20241002 from Canonical✓ installed sudo snap install usb-reset 2024-02-08T17:00:46+07:00 INFO Waiting for automatic snapd restart... usb-reset 0.3 from Roger Light (ralight) installed sudo snap connect usb-reset:hardware-observe core:hardware-observe sudo snap connect usb-reset:raw-usb core:raw-usb
Приложение установлено и в случае зависания токена выполните сброс usb-порта командой "usb-reset" с привилегиями "sudo".
Команде требуется указать, какой именно порт/девайс нужно сбросить, поэтому необходимо знать idVendor и idProduct токена. Если токен завис и не доступен, то его нельзя увидеть по запросу, но можно посмотреть на другом сервере или из прошлого теста (также из документации SSW). Если ранее выполнялась команда ecss-check-token, то в первой строчке уже отображался ID, который требуется — ID 0a89:0030:
ecss-check-token ruToken found (Bus 001 Device 003: ID 0a89:0030). Cryptoki version 2.20 Manufacturer Aktiv Co. Library Rutoken ECP PKCS #11 library (ver 1.9) Using slot 0 with a present token (0x0) Available slots: Slot 0 (0x0): Aktiv Rutoken ECP 00 00 token label : test_21_12 token manufacturer : Aktiv Co. token model : Rutoken ECP token flags : login required, rng, token initialized, PIN initialized hardware version : 54.1 firmware version : 23.0 serial num : 3d216006 pin min/max : 6/32 Slot 1 (0x1): (empty) . . .
Для сброса usb-порта выполните команду:
sudo usb-reset 0a89:0030
Проверьте доступность токена:
ecss-check-token ruToken found (Bus 001 Device 003: ID 0a89:0030). Cryptoki version 2.20 Manufacturer Aktiv Co. Library Rutoken ECP PKCS #11 library (ver 1.9) Using slot 0 with a present token (0x0) Available slots: Slot 0 (0x0): Aktiv Rutoken ECP 00 00 token label : test_21_12 token manufacturer : Aktiv Co. token model : Rutoken ECP token flags : login required, rng, token initialized, PIN initialized hardware version : 54.1 firmware version : 23.0 serial num : 3d216006 pin min/max : 6/32 Slot 1 (0x1): (empty) . . .