温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux Token 如何进行一次性密码认证

发布时间:2021-11-02 10:12:33 来源:亿速云 阅读:279 作者:柒染 栏目:系统运维

今天就跟大家聊聊有关Linux Token 如何进行一次性密码认证,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

1. 什么是Token

Token(令牌)是一个身份认证标识,token还有一个特点,那就是存在过期时间的。也就是令牌不是长久有效的。

2. 为什么使用令牌

我们通常需要临时或者一次性使用的身份认证

3. 什么时候能用到令牌技术

例如我们去餐厅就餐,向前台获取Wifi密码,然后可以享受30分钟的上网服务。30分钟过后密码将失效。

我们公司有很多服务器,密码的管理非常麻烦,有时还会有人事变动,一旦人员发生变动,所有的服务器密码都需要修改一次,非常麻烦,偶尔会有漏改情况,使用堡垒机可以更好的管理密码,但成本非常昂贵。

于是我便想起了Token技术,但购买Token硬件成本也要花费不少钱。Token的原理我很清楚,通过对称算法算出相同对等密钥,我们可以不购买硬件设备,自己开发,手机设备随身携带,所以开发移动版Token***不过。

4. 本文的Token应用在什么地方

我采用Token技术实现Linux指定用户的密码周期变化,以时间为基准,手机同步算出服务器上的密码。为了防止密码被穷举,我增加了4个干扰字符。

如果对密码算法强度感到不安全,你可以自行修改复杂度。

你还可以远程修改密码,不多讲。

5. 谁来部署

首先由管理员部署密码修改程序 chpasswd.sh 然后加入到crontab 中定时运行。由于考虑到读者的水平参差不齐,所以我使用shell完成,这样绝大多数读者都能看懂。

# cat chpasswd.sh     #!/bin/bash  datetime=`date +%Y-%m-%d" "%H":"%M`  email="neo.chan@live.com" #password=$(cat /dev/urandom | tr -cd [:alnum:] | fold -w30 | head -n 1)  string=$(date -u "+%Y$1%m$2%d$3%H$4%M")  password=$(echo $string | md5sum | cut -c 2-9 | base64 | tr -d "=" | cut -c 1-32)  echo $password > ~/.lastpasswd  echo $password | passwd www --stdin > /dev/null

~/.lastpasswd 中保存***一次密码

crontab 设置,每分钟修改一次密码。

# crontab -l  */1 * * * * /root/chpasswd.sh a b c d

a b c d 自行设定,设定与手机端相同即可

至此服务器端配置完成

6. 手机端配置

安装Token.apk文件到你的手机

https://github.com/oscm/Token

Linux Token 如何进行一次性密码认证

6.1. 设置密码

Linux Token 如何进行一次性密码认证

确认密码

Linux Token 如何进行一次性密码认证

选择环境

Linux Token 如何进行一次性密码认证

设置干扰码

Linux Token 如何进行一次性密码认证

6.2. 查看服务器密码

Linux Token 如何进行一次性密码认证

6.3. 设置刷新时间

默认1分钟刷新一次,可能没有来得及输入完密码就会更新密码

如果修改此项,服务器端crontab中的设置同步更改即可。

Linux Token 如何进行一次性密码认证

看完上述内容,你们对Linux Token 如何进行一次性密码认证有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI