如何使用LinOTP批量登录Yubikey
Yubikey提供了一个秘密,可用于对Yubico在线服务进行身份验证。 在许多情况下,这是不可接受的,因为您希望自己控制您的秘密和身份验证过程。
Yubikey还提供了符合RFC标准的HOTP令牌的可能性。 在推出过程中,秘密的HMAC密钥可以写入Yubikey。 为了实现这一点,Yubico还提供了一个python 模块 。
LinOTP是一个基于linux的开源认证服务器,支持许多不同的OTP机制,如mOTP , TOTP , HOTP , OCRA ,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序列号打印在其背面,以便您现在可以开始为您的用户分配令牌。
快乐认证!