Какой рейтинг вас больше интересует?
|
OpenSSH и eToken2015-07-02 12:58:03 (читать в оригинале)Попробовал воспользоваться выданным на работе eToken для доступа на линукс-машину по ssh. Естественно, на машине, куда я втыкал токен, уже установлен Safenet Authentication Client, родной софт от производителя токена, который содержит PKCS11-модуль libeTPkcs11.so. С его помощью можно использовать этот токен в firefox-е и еще много где, причем с ключами и сертификатами, созданными виндовым софтом. Интерес представляло, насколько хорошо поддержка pkcs11 интегрирована в OpenSSH. Наибольшую сложность составило почему-то преобразование открытого ключа, извлеченного из сертификата средствами OpenSSL в формат openssh-вого identity.pub. Команда ssh-keygen -i -m pem -f filename.pem злобно ругается на нераспознаваемый формат. Это потому что, openssl полностью перешла на PKCS8 форматы а под pem в опции -m ssh-keygen понимается старый формат. Правильная команда выглядит как openssl x509 -in fromtoken.crt -noout -pubkey >filename.pem ssh-keygen -i -m PKCS8 -f filename.pem Получить старый формат средствами OpenSSL можно, Для этого в команде rsa есть ключик -RSAPublicKey_out Можно взять ключик, выдрранный командой x509 (выше) из сертификата и сконвертировать. Сертификат из токена достается командой: pkcs11-tool --module libeTPkcs11.so --type cert --id <какой-там-у-вас-id> --read-object Эта команда выдает сертификат в формате der на stdout, поэтому надо либо переназначить в файл, либо сразу направлять в openssl x509, не забыв ей сказать -inform DER. Пин-кода чтение сертификата по очевидным причинам не спрашивает. После того, как ключ получен и положен куда надо в authorized_keys дальше все просто: Либо ssh -I libeTPkcs11.so куда.надо и мы попадаем на нужный хост, одноразово обратившись к токену. Либо ssh-add -s libeTPkcs11.so и золотой ключик у вас в агенте. В обоих случаях, конечно PIN спросят. Агент нормально переживает внезапное выдергивание токена. Правда, ключ в списке остается. Что интересно, при попытке его удалить (командой ssh-agent -e libeTPkcs11.soспрашивают пассфразу. При выдернутом токене. Поиграться что-ли еще с pam-pkcs11? Там интересно - предоставляются разные способы мэппинга информации из сертификата на карте в юзернеймы, что полезно в моём случае, поскольку юзернеймы на машине куда ходить и информация помещаемая в сертификат, контролиуются разными людьми. Сертификат - сисадмином конторы, а машина - мной. Кроме того, в состав pkcs11 входит pkcs11_eventmgr, который позволяет, например, лочить экран при выдергивании токена. Интересно, удастся ли сделать так, чтобы ssh-agent при выдергивании токена "забывал" пассфразу от него, но когда после вставления токена она вводится в screensaver, получал бы ее оттуда средствами pam. This entry was originally posted at http://vitus-wagner.dreamwidth.org/1103668.html. Please comment there using OpenID. Now there are comments
|
Категория «Священники»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.