重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
今天就跟大家聊聊有关Linux Token 如何进行一次性密码认证,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联专业提供成都主机托管四川主机托管成都服务器托管四川服务器托管,支持按月付款!我们的承诺:贵族品质、平民价格,机房位于中国电信/网通/移动机房,西部信息服务器托管服务有保障!
Token(令牌)是一个身份认证标识,token还有一个特点,那就是存在过期时间的。也就是令牌不是长久有效的。
我们通常需要临时或者一次性使用的身份认证
例如我们去餐厅就餐,向前台获取Wifi密码,然后可以享受30分钟的上网服务。30分钟过后密码将失效。
我们公司有很多服务器,密码的管理非常麻烦,有时还会有人事变动,一旦人员发生变动,所有的服务器密码都需要修改一次,非常麻烦,偶尔会有漏改情况,使用堡垒机可以更好的管理密码,但成本非常昂贵。
于是我便想起了Token技术,但购买Token硬件成本也要花费不少钱。Token的原理我很清楚,通过对称算法算出相同对等密钥,我们可以不购买硬件设备,自己开发,手机设备随身携带,所以开发移动版Token***不过。
我采用Token技术实现Linux指定用户的密码周期变化,以时间为基准,手机同步算出服务器上的密码。为了防止密码被穷举,我增加了4个干扰字符。
如果对密码算法强度感到不安全,你可以自行修改复杂度。
你还可以远程修改密码,不多讲。
首先由管理员部署密码修改程序 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 自行设定,设定与手机端相同即可
至此服务器端配置完成
安装Token.apk文件到你的手机
https://github.com/oscm/Token
6.1. 设置密码
确认密码
选择环境
设置干扰码
6.2. 查看服务器密码
6.3. 设置刷新时间
默认1分钟刷新一次,可能没有来得及输入完密码就会更新密码
如果修改此项,服务器端crontab中的设置同步更改即可。
看完上述内容,你们对Linux Token 如何进行一次性密码认证有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。