Rutoken S для ssh сессий из linux-клиента

Необходимо использовать Рутокен S для аутентификации при подключении по ssh.
в качестве клиента используется Ubuntu 14.04.1 64 бита.
По инструкции установили:
libccid,
pcscd,
libpcsclite1
и нужный драйвер:
ifd-rutokens_1.0.4_amd64.deb
Записали ключик и сертификат на Рутокен.
Записали открытый ключ в .ssh/authorized_keys на сервере к которому необходимо подключение по ssh

Подключили Рутокен S к клиенту Ubuntu
дали команду sudo pcscd -adf
Рутокен S видится, судя по строкам в выводе:
00000013 hotplug_libudev.c:321:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S
00000031 readerfactory.c:989:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
00000167 readerfactory.c:874:RFBindFunctions() Loading IFD Handler 3.0
00099219 readerfactory.c:332:RFAddReader() Using the reader polling thread
00001343 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/005/001
00000260 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000196 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000220 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x0BDA, PID: 0x0118, path: /dev/bus/usb/001/005
00000092 readerfactory.c:1330:RFWaitForReaderInit() Waiting init for reader: Aktiv Co. Rutoken S 00 00
00003887 eventhandler.c:266:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000038 Card ATR: 3B 6F 00 FF 00 56 72 75 54 6F 6B 6E 73 30 20 00 00 90 00

Из этого выdода решили, что путь к библиотеки для Рутокена S:
/usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so

Далее запускаем демон pcscd в фоновый режим:
sudo /etc/init.d/pcscd start

пытаемся подключится к серверу командой:
ssh -I /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so username@ip_server

получаем ошибку:
dlopen /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so failed: /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so: undefined symbol: log_xxd
Permission denied (publickey).

Грешим на то что, возможно не правильно сформировали ключи.
Проверяем работу с этим же Рутокеном из виндус клиента, используя putty sc. Подключение проходит нормально.
Записываем тем же способом ключи на Рутокен ЭЦП и подключаемся из Ubuntu с Рутокен ЭЦП
ssh -I путь к библиотеке_для_Рутокен_ЭЦП username@ip_server
Подключение проходит нормально.

Т.е. проблема именно в обращении к Рутокен S.
Прошу подсказать по поводу:
dlopen /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so failed: /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so: undefined symbol: log_xxd
Permission denied (publickey).

Re: Rutoken S для ssh сессий из linux-клиента

Добрый день.
Вам нужен гораздо более высокоуровневый драйвер, чем тот, который вы пробуете.
Установите OpenSC (но не устанавливайте OpenCT) и в качестве "драйвера" для SSH используйте библиотеку opensc-pkcs11.so входящую в состав OpenSC

При настройке PuttySC какую библиотеку pkcs11 вы использовали?

Сразу скажу, что использовать Рутокен S для использования в linux для ssh довольно мучительно.
Гораздо лучше для этого подходит другая модель - Рутокен ЭЦП.

Re: Rutoken S для ssh сессий из linux-клиента

Добрый день, Кирилл. Спасибо за пояснения.
openSC поставил (версию по умолчанию opensc_0.13.0-3ubuntu4.1_amd64.deb)
ssh -I /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so username@ip_server
выдает:
no slots
Permission denied (publickey).