RuToken ECP mac ssh auth

Продолжение эпопеи. Теперь вообще нечто непонятное происходит. Действовал по инструкциям двумя способами. Способ первый:

bash-3.2# pkcs15-init --erase-card
Using reader with a card: Aktiv Rutoken ECP 00 00
bash-3.2# pkcs15-init --create-pkcs15 --so-pin "87654321" --pin "12345678" --so-puk ""
Using reader with a card: Aktiv Rutoken ECP 00 00
bash-3.2# pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "12345678" --so-pin "87654321" --puk ""
Using reader with a card: Aktiv Rutoken ECP 00 00
bash-3.2# pkcs15-init -G rsa/2048 --auth-id 02 --id 42 --pin "12345678" --so-pin "87654321"
Using reader with a card: Aktiv Rutoken ECP 00 00
bash-3.2# pkcs15-tool --read-ssh-key 42
Using reader with a card: Aktiv Rutoken ECP 00 00
ssh-rsa blah-blah-blah.

запихнул открытый ключ в authorized_keys2, пытаюсь залогиниться:

ssh -v -I /Library/OpenSC/lib/opensc-pkcs11.so puppet
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/darkstar/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to puppet [46.229.164.216] port 22.
debug1: Connection established.
debug1: manufacturerID <OpenSC (www.opensc-project.org)> cryptokiVersion 2.20 libraryDescription <Smart card PKCS#11 API> libraryVersion 0.0
debug1: label <Rutoken ECP (User PIN)> manufacturerID <Aktiv Co.> model <PKCS#15> serial <000000002F7279E> flags 0x40d
debug1: have 1 keys
<skip>
debug1: Offering RSA public key: /Library/OpenSC/lib/opensc-pkcs11.so
debug1: Server accepts key: pkalg ssh-rsa blen 279
Enter PIN for 'Rutoken ECP (User PIN)':
C_Sign failed: 5
ssh_rsa_sign: RSA_sign failed: unknown err

Ладно, может я чего-то не понял. Пробую через librtpkcs11ecp.so

bash-3.2# pkcs15-init --create-pkcs15 --so-pin "87654321" --pin "12345678" --so-puk ""
Using reader with a card: Aktiv Rutoken ECP 00 00
bash-3.2# pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "12345678" --so-pin "87654321" --puk ""
Using reader with a card: Aktiv Rutoken ECP 00 00
bash-3.2# pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45
Using slot 0 with a present token (0x0)
Logging in to "Rutoken ECP <no label>".
Please enter User PIN:
Key pair generated:
Private Key Object; RSA
  label:
  ID:         45
  Usage:      decrypt, sign, unwrap
warning: PKCS11 function C_GetAttributeValue(ALWAYS_AUTHENTICATE) failed: rv = CKR_ATTRIBUTE_TYPE_INVALID (0x12)

Public Key Object; RSA 2048 bits
  label:
  ID:         45
  Usage:      encrypt, verify, wrap

bash-3.2# ssh-keygen -D /usr/lib/librtpkcs11ecp.so -I 0:45
ключ получил, запихнул новый в authorized_keys2

теперь другое:

localhost:~ darkstar$ ssh -v -I /usr/lib/librtpkcs11ecp.so puppet
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/darkstar/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to puppet [46.229.164.216] port 22.
debug1: Connection established.
debug1: manufacturerID <Aktiv Co.> cryptokiVersion 2.20 libraryDescription <Rutoken ECP PKCS #11 library> libraryVersion 1.1
debug1: label <Rutoken ECP <no label>> manufacturerID <Aktiv Co.> model <Rutoken ECP> serial <2f7279eb> flags 0x88040d
debug1: have 1 keys
<skip>

debug1: Offering RSA public key: /usr/lib/librtpkcs11ecp.so
debug1: Server accepts key: pkalg ssh-rsa blen 279
Enter PIN for 'Rutoken ECP <no label>':
C_Sign failed: 48
ssh_rsa_sign: RSA_sign failed: unknown err


Что я делаю не так?

ЗЫ
mac os x 10.9
OpenSC 0.13.0
librtpkcs11ecp v.1.1.3.0 от 27.08.2013

Re: RuToken ECP mac ssh auth

Все, я сам дурак. В pkcs15-init не добавил ключ --finalize. Все работает.

Re: RuToken ECP mac ssh auth

Добрый день.

Тут есть разница с Рутокен ЭЦП.
Либо Вы работаете с OpenSC и его форматированием через pkcs15-init, либо с librtpkcs11ecp и обычным "заводским" форматированием.
Форматы файловой системы, к сожалению, несовместимы.

Большинство инструкций и модуль tokend рассчитаны на использование librtpkcs11ecp и "заводское" форматирование.

Заводское форматирование Рутокена ЭЦП можно восстановить в windows через панель управления Рутокен. Совсем скоро мы выпустим утилиту, которая сможет это сделать в OS X.

Судя по логу, если Вы восстановите ФС токена и начнёте с пункта "Ладно, может я чего-то не понял. Пробую через librtpkcs11ecp.so", у Вас всё получится.

Re: RuToken ECP mac ssh auth

Чуток продолжение темы. Все работает в обоих случаях. Однако теперь не работает ssh-add -s /usr/lib/librtpkcs11ecp.so, вываливает SSH_AGENT_FAILURE, после чего начинает плодить процессы ssh-pkcs11-helper (в MacOSX 10.9). На Linux работает.

Re: RuToken ECP mac ssh auth

При этом попробовал запустить пользовательский агент в дебаг режиме, прибив запущенный при старте ОС и экспортировав переменные нового агента, агент выдал лишь:
sh-agent -s -d
SSH_AUTH_SOCK=/var/folders/yf/0ts3hfb96tb08k3z83rs8g8w0000gn/T//ssh-E7RnwkaBfr62/agent.2039; export SSH_AUTH_SOCK;
echo Agent pid 2039;
debug1: read PEM private key done: type RSA
debug1: type 20
debug1: XXX shrink: 3 < 4

причем последние две строчки когда собственно запустил ssh-add

Re: RuToken ECP mac ssh auth

В итоге то всё заработало или нет? на маке?

Re: RuToken ECP mac ssh auth

ssh аутенфикация работает прекрасно. Но не работает ssh-add. симптомы выше, разобраться не смог (кстати, для "чистоты" эксперимента перед генерацией сертификата я отформатировал токен в панели управления рутокен в windows и pkcs15-init вообще не запускал, в общем сделал все по инструкции).

Re: RuToken ECP mac ssh auth

artscout пишет:

ssh аутенфикация работает прекрасно. Но не работает ssh-add. симптомы выше, разобраться не смог (кстати, для "чистоты" эксперимента перед генерацией сертификата я отформатировал токен в панели управления рутокен в windows и pkcs15-init вообще не запускал, в общем сделал все по инструкции).

Ок, мы посмотрим насчёт ssh-add.

Re: RuToken ECP mac ssh auth

Здравствуйте!
Есть какие-либо новости про ssh-add? Может быть чем-либо помочь могу (только укажите, чем и как, я дебажить, увы, не особо умею в osx)?

Re: RuToken ECP mac ssh auth

И опять вопрос снимается - обновил ssh из brew до версии 6.6p1 - заработало сразу все. Видимо надо трепать саппорт аппла.

Re: RuToken ECP mac ssh auth

artscout пишет:

И опять вопрос снимается - обновил ssh из brew до версии 6.6p1 - заработало сразу все. Видимо надо трепать саппорт аппла.

ssh-add тоже из brew обновился?

Re: RuToken ECP mac ssh auth

Кирилл Мещеряков пишет:
artscout пишет:

И опять вопрос снимается - обновил ssh из brew до версии 6.6p1 - заработало сразу все. Видимо надо трепать саппорт аппла.

ssh-add тоже из brew обновился?

Да, я полностью весь ssh обновил. Далее уже решил, что проще тогда весь системный ssh обновить и сделал себе пакет, заменяющий системный полностью. В brew openssh с патчем для поддержки Keychain/Launchd.

Re: RuToken ECP mac ssh auth

Кстати в соседней моей теме про Keychain сейчас напишу про дальнейшие "приключения", может вы чего подскажете (хотя это тоже скорее к эпплу)