Я хотел бы иметь возможность SSH к моей машине, используя смарт-карту Gemalto .NET в качестве метода аутентификации. Как это можно сделать на машине Fedora 13 (или в стиле Red Hat)?
Вот те грубые шаги, которые я считаю необходимыми:
- Предоставление сертификата для смарт-карты (и, возможно, ЦС для его выдачи?)
- Получить сертификат на смарт-карту
- Сконфигурируйте сервер SSH, чтобы разрешить аутентификацию смарт-карты и настройте его для использования определенного сертификата / CA
- Клиент SSH с поддержкой смарт-карт (дополнительные баллы за бесплатный Windows-клиент)
Я бы порекомендовал Kerberos. MIT производит клиент и сервер krb5.
vwduder, не могли бы вы порекомендовать устройство для чтения смарт-карт и источник карт, совместимых с FIPS-201?
http://csrc.nist.gov/publications/fips/fips201-1/FIPS-201-1-chng1.pdf
У меня есть копия на моем собственном сервере, но я недостаточно популярен на этой трассировке стека, чтобы поделиться ею с вами. Вышеуказанное лишь немного менее надежно, чем наши собственные серверы, поэтому вы, вероятно, сможете получить его от них;)
[править] Я сейчас достаточно популярен!
http://www.colliertech.org/state/FIPS-201-1-chng1.pdf
источник
При использовании ключей RSA 1) и 2) тривиальны, потому что, как мы увидим в 3), фактический сертификат не имеет значения в этом контексте. Просто зайдите на cacert.org или создайте самоподписанный сертификат, и все готово.
В 3) вам необходимо извлечь ваш открытый ключ и установить его в $ HOME / .ssh / authorized_keys. Обратите внимание на владение файлами и разрешения! (700 для .ssh, 600 для авторизованных ключей). Аутентификация открытого ключа на уровне хоста не рекомендуется, но оставляется в качестве упражнения для любознательных.
Что касается 4), вам следует изучить PuTTY SC ( http://www.joebar.ch/puttysc/ ) или, предпочтительно, PuTTY-CAC ( http://www.risacher.org/putty-cac/ ), в котором улучшены PuTTY SC с улучшенным алгоритмом извлечения открытого ключа, а также включает поддержку Kerberos-GSSAPI из ветви разработки PuTTY.
источник
Я сделал видео, чтобы показать, как использовать смарт-карту с сервером Linux, используя PuttySC и SecureCRT . Вы можете посмотреть его здесь: Как использовать SSH со своей смарт-картой
Я не объясняю, как предоставить сертификат на карту, но если вы это сделаете, помните, что ключ администратора карты должен быть изменен с помощью системы управления картами. Вам будет намного легче, если ваша компания предоставит вам смарт-карту, чтобы вам не пришлось беспокоиться об этой части.
После того, как вы подготовили карту, вам нужно извлечь открытый ключ, а затем добавить его в ~ / .sshd / авторизованный_ключ.
Для подключения к серверу вы можете использовать такие инструменты, как PuttySC или SecureCRT. Вам нужно будет приобрести библиотеку PSKC # 11 для карты (либо у производителя смарт-карты, либо у версии с открытым исходным кодом). Сконфигурируйте инструмент SSH с библиотекой, он должен быть в состоянии прочитать его и найти сертификат.
Когда вы авторизуетесь, инструмент запросит у вас PIN-код смарт-карты.
источник