linux 生成密码本,Linux下CentOS7使用OTPW实现双因子密码本登录

otpw优点:

1、前缀密码+一次性随机码,相当于双重加密。就算随机码列表泄露,没有前缀密码也是无法登录.

2、如果一次没登录成功,会启用三重随机码.

3、用户目录下保存密码的文件可通用,适合批量部署.

安装:

cd /home

wget –no-check-certificate https://www.cl.cam.ac.uk/~mgk25/download/otpw-1.5.tar.gz

cd otpw-1.5

编辑Makefile 文件,修改以“PAMLIB=”开头的那行配置:

64位系统将其改为:

PAMLIB=/lib64/security

32位系统将其改为:

PAMLIB=/lib/security

如果不确定要放在哪个目录,可以打开/etc/pam.d/sshd,用find查找一下里面的so文件在哪个目录,上面就填哪个目录。

修改后,进行编译:

make

make install

注意:编译完成后,SSH会自动断开,需要重新连接,请在无任何其他操作的情况下编译!

启用otpw:

编辑/etc/pam.d/sshd文件,添加如下两行:

auth required pam_otpw.so

session optional pam_otpw.so

配置sshd_config:

编辑/etc/ssh/sshd_config文件,先查询是否存在UsePAM yes这条,存在的话添加如下两行:

UsePrivilegeSeparation yes

ChallengeResponseAuthentication yes

如果不存在或者是其他状态,请修改为UsePAM yes,并添加两行:

UsePrivilegeSeparation yes

ChallengeResponseAuthentication yes

修改完成后,重启下SSH服务:

service sshd restart

生成双因子密码本:

cd /home/otpw-1.5

chmod +x otpw-gen

./otpw-gen >passwd_list

执行此条记录时,会有以下提示:

Enter new prefix password:

Reenter prefix password:

在这里,需要两次输入自定义密码前缀,务必需要记住此密码,以后登录的时候,需要先加入此前缀,然后输入密码本密码才能进行登录。

生成密码后,我们可以使用cat passwd_lis预览下内容:

OTPW list generated 2019-05-24 10:22 on localhost

000 WC3k IGgU 056 8EGn KmRQ 112 bbab XybR 168 J4Lb iAuU 224 ypM6 EKkr

001 CZF9 m29s 057 N7PZ Nv:+ 113 9PG4 Jr:T 169 urhc 2yJY 225 DBKR up+E

002 ksO5 bYZE 058 3OHs fx=k 114 qsQC Ynwu 170 OZS6 :%IF 226 YBJV jQPr

003 +tNK OPXZ 059 to7M zxXA 115 9rWy m4n8 171 /vMx zkPr 227 7o/q Aa38

004 oVVK Zphg 060 H6Dg M%Mc 116 %tkB IPj5 172 nhdg CQJn 228 FHfx qERp

005 L7Tu 5t8j 061 /Unq zYj9 117 chQ4 RXwC 173 RArr WGHr 229 s%Ls Lxh%

006 6Tst WfPQ 062 dZkV XtTz 118 O9Xv NI+N 174 22/4 Tz3n 230 sqFR nSQ%

007 QgKP deFZ 063 Fg%3 rbzB 119 Sqi/ F9d8 175 u5%x eGv% 231 zRTo M9zu

008 iWQB h2Ny 064 YJ2B wO3W 120 wxJx h6Aj 176 pM%2 =J=z 232 XyUM 7h5m

......

每一个密码前面有一个编号,后面是密码本内容。一次性可以生成 280 个一次性密码,每个密码(默认是 8 个字符)由一个 3 位十进制数索引。

注意:由于我们生成密码的时候,设置了一个自定义密码前缀,所以,就算这份一次性密码泄露,但是不知道我们设置的前缀密码,也是不能登录的。

生成密码本后,在用户的主目录下,会生成一个根据根一次性密码对应的HASH值密码文件,用来进行登录匹配。使用一次,此HASH值密码就会进行删除操作。

如何用一次性密码登录:

本地测试:ssh 本地ip ,例如: ssh 10.0.0.1

会出现如下提示:

Password 112:

现在打开你的密码表,找到索引号为 112的密码:bbab XybR

我们就需要输入密码格式为:刚才设置的自定义密码,比如是ddcc,加上新密码bbab XybR ,那就需要输入:ddccbbab XybR

密码中存在的空格可以删除,也可以保留。

注意:一次输错密码后,下次输入就需要三个密码同时输入,比如:

Password 118/243/082:

这样子的格式,输入方式也是一致,先输入自定义密码,再输入三个密码即可。

» 本文链接:Linux下CentOS7使用OTPW实现双因子密码本登录

» 转载请注明来源:刺客博客

» 如果文章失效或者安装失败,请留言进行反馈。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值