共计 1642 个字符,预计需要花费 5 分钟才能阅读完成。
前言
彩色文字认证系统 privacyIDEA 是一个模块化认证系统,一个认证服务器,由 python 编写的一款提供一次性密码即 OTP(One Time Password)的开源软件,支持多种不同的数据来源:如 flat files,不同的 LDAP 服务,SQL 数据库和 SCIM 服务。认证方面可以对接 radius。
工具的安装与配置
话不多说,先上安装文档地址【[传送门](http://privacyidea.readthedocs.io/en/v2.19/installation/index.html)】ubunutu 与 CentOS 都有官方的包,如果找不到包的话可以用 pip 去构建,╮(~▽~”)╭真齐全。
这边的话我是用 ubunutu 构建. 简单的几句 apt 搞定
> add-apt-repository ppa:privacyidea/privacyidea
apt-get update
apt-get install python-privacyidea privacyideaadm
apt-get install privacyidea-apache2
apt-get install privacyidea-radius #用于将 RADIUS 请求转换为 privacyIDEA 服务器的 API
apt-get install privacyidea-simplesamlphp #通过 simpleSAMLphp 的插件支持 SAML
apt-get install privacyidea-pam #可以对任何 Linux 系统添加双因素身份验证(可以用本身的密码或者 OTP 登陆)
apt-get install privacyidea-otrs #
完成后直接访问 https://ip 安装 apache 后默认是开启 ssl 的. 也可以用 python runserver 的方式去启动服务.
用户名密码通过创建 -e 后面加的是用户名
freeradius 安装以及对接使用
ubnutu 下直接使用 apt 进行安装
> apt-get install libpam-radius-auth freeradius
修改 /etc/pam.d/sshd 在开头添加以下这句
> @include otp-auth
接着复制文件
> cp /etc/pam.d/common-auth /etc/pam.d/otp-auth
otp-auth 内容如下
> auth [success=3 default=ignore] pam_radius_auth.so
auth [success=2 default=ignore] pam_unix.so nullok_secure try_first_pass
auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_ecryptfs.so unwrap
auth optional pam_cap.so
添加 radius 服务器
手机端的工具安装
可以采用 [freeotp](http://downloads.tomsguide.com/FreeOTP,0301-56679.html) 或者是谷歌认证器通过扫描二维码使用 安卓版
添加用户 TOKENS
(・。・)接下来就可以在 putty 或者 xshell 进行认证了,可以用原来的密码或者是 PIN+OTP 进行登陆.
认证成功的 radius 登陆日志
结论
一次性密码有好有坏,可以免除一些外来的密码入侵。通过 api 甚至可以将其扩展到网页认证之类的。
附:从百度偷取的应用图
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/144971.htm