LINUX.ORG.RU

openssh PKCS11 URI для приватного неизвлекаемого ключа, расположенного на токене SafeNet EToken_SC

 , ,


0

1

Объект с ключом выглядит так:

Object 2:
        URL: pkcs11:model=eToken;manufacturer=SafeNet%2C%20Inc.;serial=0ab1d01d;token=EToken_SC;id=%10;object=Label_10;type=private
        Type: Private key (RSA-2048)
        Label: Label_10
        Flags: CKA_WRAP/UNWRAP; CKA_PRIVATE; CKA_NEVER_EXTRACTABLE; CKA_SENSITIVE; 
        ID: 10

Пожалуйста, подскажите, как правильно указать URI/URL в команде ssh?

Т.е. что-то типа такого: ssh -i "pkcs11:model=eToken;manufacturer=SafeNet%2C%20Inc.;serial=0ab1d01d;token=EToken_SC;id=%10;object=Label_10;type=private" host1234

Но проблема в том, что выдаёт ошибку:

Warning: Identity file pkcs11:model=eToken;manufacturer=SafeNet%2C%20Inc.;serial=0ab1d01d;token=EToken_SC;id=%10;object=Label_10;type=private not accessible: No such file or directory.

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

Причём перебирает ключи лишь только потому что указана опция: PKCS11Provider /xxx/pkcs11_xxx_etoken.so

А если её убрать, то перестаёт перебирать даже все ключи. Т.е. опция ssh -i "pkcs11:... не работает совсем, вопрос как исправить аргумент этой опции.

Настройка для /etc/pkcs11:

cat /etc/pkcs11/modules/etoken.module

module: /xxx/pkcs11_xxx_etoken.so


Последнее исправление: sanyo1234 (всего исправлений: 2)

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

Может ли в этом помочь опция CertificateFile ?

sanyo1234
() автор топика

Или другой вариант, попробовать временно запретить использование части ключей? Как это можно сделать без их удаления?

Может быть, как-то так:

CKA_MODIFIABLE only restricts access through the PKCS #11 API: all PKCS #11 keys have
ACLs that include the ReduceACL permission.

?

sanyo1234
() автор топика
Последнее исправление: sanyo1234 (всего исправлений: 1)

не работает совсем, вопрос как исправить аргумент этой опции.

  • патчить openssh-client
  • использовать pkcs11 прослойку, которая отфильтрует лишнее

И то и другое существует в интернетах только в виде Proof of Concept, nuff said.

MagicMirror
()
Ответ на: комментарий от MagicMirror

Так ведь в RHEL должно работать?

Я пробую (пытаюсь) в Debian. Разве ssh в Debian чем-то отличается от RHEL?

sanyo1234
() автор топика
Последнее исправление: sanyo1234 (всего исправлений: 1)