https://code.google.com/p/google-authenticator/ 是google提供的OTP解决方案。
http://www.multiotp.net/ 是一个开源otp验证解决方案,继承了google的OTP方案, 可以通过pam模块与Radius验证服务器集成,安装包已经包括了Radius和Google OTP 模块。
安装比较简单,下载之后解压。选择这个是因为公司内网,不能在linux下运行各种apt-get/yum类的命令获取包,还是找个集成好的windows一体包比较方便。
另外一个google auth免费解决方案也不错,不过是基于linux的,所以放弃。
以admin方式运行radius_install.cmd ,这个脚本会安装一个radius服务器到
系统中,默认端口1812。.
装好后可以NTRadPing这个软件来测试。
radius的用户在multiOTP\radius\etc\raddb\users里:
# # This is an entry for a user with a space in their name. # Note the double quotes surrounding the name. # testuser Cleartext-Password := "testpw" Reply-Message = "Hello, %{User-Name}"
这里使用默认用户。
multiOTP也需要创建一个同名用户:
E:\App\multiOTP>multiotp -fastcreate testuser
建好后用命令生成token序列:
E:\App\multiOTP>multiotp -scratchlist testuser
964655
232904
841466
584584
472148
571943
927968
152811
832039
465996
使用的顺序只能从上到下, 上面用过的序列就不能用了。
还有一个multiOTP cp的软件,能让multiOTP与windows系统集成:
https://code.google.com/p/multi-one-time-password--credential-provider/
测试时候要小心,一旦安装好后锁屏了,就需要输入OTP密码了。一旦锁屏了没有密码,需要尝试进入windows的安全模式,卸载掉这个程序才行,
安全模式下默认windows installer service没启动,输入以下命令启动:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot\Network\MSIServer" /VE /T REG_SZ /F /D "Service"
net start msiserver