今天就跟大家聊聊有關(guān)Linux Token 如何進(jìn)行一次性密碼認(rèn)證,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價(jià)格,機(jī)房位于中國電信/網(wǎng)通/移動(dòng)機(jī)房,西部信息服務(wù)器托管服務(wù)有保障!
Token(令牌)是一個(gè)身份認(rèn)證標(biāo)識(shí),token還有一個(gè)特點(diǎn),那就是存在過期時(shí)間的。也就是令牌不是長久有效的。
我們通常需要臨時(shí)或者一次性使用的身份認(rèn)證
例如我們?nèi)ゲ蛷d就餐,向前臺(tái)獲取Wifi密碼,然后可以享受30分鐘的上網(wǎng)服務(wù)。30分鐘過后密碼將失效。
我們公司有很多服務(wù)器,密碼的管理非常麻煩,有時(shí)還會(huì)有人事變動(dòng),一旦人員發(fā)生變動(dòng),所有的服務(wù)器密碼都需要修改一次,非常麻煩,偶爾會(huì)有漏改情況,使用堡壘機(jī)可以更好的管理密碼,但成本非常昂貴。
于是我便想起了Token技術(shù),但購買Token硬件成本也要花費(fèi)不少錢。Token的原理我很清楚,通過對(duì)稱算法算出相同對(duì)等密鑰,我們可以不購買硬件設(shè)備,自己開發(fā),手機(jī)設(shè)備隨身攜帶,所以開發(fā)移動(dòng)版Token***不過。
我采用Token技術(shù)實(shí)現(xiàn)Linux指定用戶的密碼周期變化,以時(shí)間為基準(zhǔn),手機(jī)同步算出服務(wù)器上的密碼。為了防止密碼被窮舉,我增加了4個(gè)干擾字符。
如果對(duì)密碼算法強(qiáng)度感到不安全,你可以自行修改復(fù)雜度。
你還可以遠(yuǎn)程修改密碼,不多講。
首先由管理員部署密碼修改程序 chpasswd.sh 然后加入到crontab 中定時(shí)運(yùn)行。由于考慮到讀者的水平參差不齊,所以我使用shell完成,這樣絕大多數(shù)讀者都能看懂。
# 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 設(shè)置,每分鐘修改一次密碼。
# crontab -l */1 * * * * /root/chpasswd.sh a b c d
a b c d 自行設(shè)定,設(shè)定與手機(jī)端相同即可
至此服務(wù)器端配置完成
安裝Token.apk文件到你的手機(jī)
https://github.com/oscm/Token
6.1. 設(shè)置密碼
確認(rèn)密碼
選擇環(huán)境
設(shè)置干擾碼
6.2. 查看服務(wù)器密碼
6.3. 設(shè)置刷新時(shí)間
默認(rèn)1分鐘刷新一次,可能沒有來得及輸入完密碼就會(huì)更新密碼
如果修改此項(xiàng),服務(wù)器端crontab中的設(shè)置同步更改即可。
看完上述內(nèi)容,你們對(duì)Linux Token 如何進(jìn)行一次性密碼認(rèn)證有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。