专栏首页NetkillerLinux Token Auth 一次性密码认证

Linux Token Auth 一次性密码认证

Linux Token Auth 一次性密码认证

http://netkiller.github.io/journal/token.html

目录

  • 1. 什么是Token
  • 2. 为什么使用令牌
  • 3. 什么时候能用到令牌技术
  • 4. 本文的Token应用在什么地方
  • 5. 谁来部署
  • 6. 手机端配置
    • 6.1. 设置密码
    • 6.2. 查看服务器密码
    • 6.3. 设置刷新时间

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

本文分享自微信公众号 - Netkiller(netkiller-ebook),作者:景峯

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-05-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【Android初级】如何实现一个“模拟后台下载”的加载效果

    在Android里面,后台的任务下载功能是非常常用的,比如在APP Store里面下载应用,下载应用时,需要跟用户进行交互,告诉用户当前正在下载以及下载完成等。...

    netkiller old
  • 使用TypeFace设置TextView的文字字体(附源码)

    在Android里面设置一个TextView的文字颜色和文字大小,都很简单,也是一个常用的基本功能。但很少有设置文字字体的,今天要分享的是通过TypeFace去...

    netkiller old
  • Elasticsearch Cluster 安装与配置

    本文节选自《Netkiller Database 手札》作者:netkiller 网站: http://www.netkiller.cn 23.1.2. Ela...

    netkiller old
  • 有关Visual Studio 2010 RTM与Windows Mobile/Windows Phone开发

        4月12日参加了Visual Studio 2010的首发活动,回来通过MSDN Subscription下载了Windows 7 Utimate和Vi...

    ShiJiong
  • 滴!520,送给蜕变的你,心爱的TA

    这个方程最终以一枚心线曲形的答案,让克里斯汀公主不禁留下感动的泪水。而笛卡尔永远离开了这个世界,到死也没有再见到公主的结局,给这个爱情故事更是增添了一抹浪漫的悲...

    孙玄@奈学教育
  • 在Windows 10任务栏中隐藏或禁用Windows Defender Security Center图标

    Windows Defender安全中心作为所有安全功能的仪表板,包括第三方安全性,可以更清楚地查看PC可能面临的任何风险。 它是特别设计的,以简化和统一Win...

    zhangdd
  • 记一道贝叶斯公式的裸题

    上课好不容易听懂了,赶紧整理一下,不然以我的记性估计明天就要忘干净了 题目 一个用户所有邮件分为两类:$A_1$代表垃圾邮件, $A_2$代表非垃圾邮件 根据经...

    attack
  • 终于解决WIN7共享经常连不上的问题了。

    用户1272546
  • 终于解决WIN7共享经常连不上的问题了。

    公司是用win7做的共享,可前段时间经常出现别人无法登陆的现象,怎么都查不出原因,偶然看到运行记录,发现为此:“XP向windows 7传输文件时系统提示“服务...

    用户1191760
  • Android实现键盘弹出界面上移的实现思路

    基本就是结合layout中ScrollView视图和AndroidManifest.xml中activity中的android:windowSoftInputM...

    砸漏

扫码关注云+社区

领取腾讯云代金券