如何做大规模注册Yubikey与LinOTP

如何使用LinOTP批量登录Yubikey

Yubikey提供了一个秘密,可用于对Yubico在线服务进行身份验证。 在许多情况下,这是不可接受的,因为您希望自己控制您的秘密和身份验证过程。

Yubikey还提供了符合RFC标准的HOTP令牌的可能性。 在推出过程中,秘密的HMAC密钥可以写入Yubikey。 为了实现这一点,Yubico还提供了一个python 模块

LinOTP是一个基于linux的开源认证服务器,支持许多不同的OTP机制,如mOTPTOTPHOTPOCRA ,SMS,日常密码等。 当初始化Yubikey作为HOTP令牌时,您可以轻松地使用LinoTP运行Yubikey。

即使LinOTP 2.4.1(编写日期的当前版本为2.5.0),2011年11月已经发布,LinOTP支持大量登记Yubikeys。

安装LinOTP服务器

有不同的方法来安装LinOTP服务器。

LinOTP是一个基于python的Web应用程序。 所以你可以从头开始安装LinOTP。 所有开源软件包都在Pythen软件包索引中发布,因此您可以使用easy_install或pip等首选方法安装LinOTP。

如何做到这一点可以在这里找到。

还有从主页或从存储库可用的deb-packages。 这将显示如何使用存储库轻松安装LinOTP。 使用Ubuntu 12.04 LTS构建的存储库中的最新软件包。

所以现在我们假设你已经安装了LinOTP服务器,设置你的管理员并配置了你的用户库。

安装LinOTP管理客户端

LinOTP还提供了一个开源的管理客户端,它是一个命令行客户机。 它具有一些限制能力,但它还提供Web UI不具有的功能。

您还可以使用pip或配置的存储库来安装管理客户端。

如果您配置了安装管理客户端的资源库,那么简单

apt-get install linotpadminclientce 

如果您使用easy_install或pip,您可以从PyPI安装客户端。

pip install linotpadminclientce

现在你已经完成了

注册Yubikeys

USB接入

通常您的普通用户将无法访问将HMAC密钥写入Yubikey。 您可以以root身份运行linotpadm命令(坏主意)或定义udev规则,以便您的控制台用户可以访问Yubikey。

创建一个文件/etc/udev/rules.d/70-yubikey-enrollment.rules

vi /etc/udev/rules.d/70-yubikey-enrollment.rules
# Udev rules for letting the console user access the Yubikey USB
# device node, needed for challenge/response to work correctly.
ACTION=="add|change", SUBSYSTEM=="usb", \
  ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0010|0110|0111", \
  TEST=="/var/run/ConsoleKit/database", \
  RUN+="udev-acl --action=$env{ACTION} --device=$env{DEVNAME}"

(这是从yubikey个性化 。)

注册Yubikey

现在可以发出命令:

% linotpadm.py -U https://localhost -a admin -C yubikey_mass_enroll

这将给你输出:

请输入“admin”的密码:
请插入下一个yubikey并按enter键(x =退出):
{u'status':True,u'value':True}
请插入下一个yubikey并按enter键(x =退出):x

您可以插入任意数量的Yubikeys,并按Enter键。 当你完成注册所有的Yubikeys,只需输入'x'。

linotpadm.py从Yubikey读取序列号,并使用串行YUBI123456(根据Yubikey序列号)将此令牌放入LinOTP令牌数据库。 因此,很容易识别,这个HOTP令牌其实是一个Yubikey。

Yubikey序列号打印在其背面,以便您现在可以开始为您的用户分配令牌。

快乐认证!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏