您好,登錄后才能下訂單哦!
1、下載Google Authenticator源碼
wget https://github.com/google/google-authenticator/tree/master/libpam
打開https://github.com/google/google-authenticator/blob/master/libpam/pam_google_authenticator.c,查找到pam_get_item(pamh, PAM_AUTHTOK, &password),修改PAM_AUTHTOK為PAM_AUTHTOK_TYPE
./bootstrap.sh ./configure make sudo make install
拷貝pam_google_authenticator.so到/lib64/security下
執(zhí)行./google-authenticator
Your new secret key is: A3FY5V6TCAEUN4FX
Your verification code is 680297
Your emergency scratch codes are:
75304045
77554864
18069864
99313356
32694105
2、下載Google身份驗(yàn)證器
通過手機(jī),ipad等下載,打開身份驗(yàn)證器,在google身份驗(yàn)證器中輸入用戶名(一般使用郵件),秘鑰則輸入./google-authenticator結(jié)果中的secret key,選擇基于時(shí)間候保存,就可以看到每30s生成一個(gè)6位數(shù)的隨機(jī)數(shù)。
3、下載JPam
官網(wǎng):http://jpam.sourceforge.net/
wget http://sourceforge.net/projects/jpam/files/jpam/jpam-1.1/JPam-Linux_amd64-1.1.tgz/download
按照J(rèn)Pam安裝說明,
a> 首先在/etc/pam.d下,創(chuàng)建一個(gè)google-auth文件,在文件中添加如下內(nèi)容:
auth required /lib64/security/pam_google_authenticator.so use_first_pass
account required /lib64/security/pam_unix_acct.so
b> 寫一個(gè)JPamTest.java程序
String user1Name = "root"; String user1Credentials = "password"; Pam pam = new Pam("google-auth"); //如果不輸入名稱,則默認(rèn)使用net-sf-jpam boolean authenticated = pam.authenticateSuccessful(user1Name, user1Credentials)); JPamTest.java依賴JPam1.1.jar,libjpam.so(此動(dòng)態(tài)庫有問題,需要按照下面的步驟重新編譯)
下載源碼,并重新編譯libpam.so
wget https://github.com/gregrluck/jpam
打開jpam/src/main/c/Pam.c,查找到pam_set_item(pamh, PAM_AUTHTOK, password),修改PAM_AUTHTOK為PAM_AUTHTOK_TYPE
修改后,執(zhí)行make,重新編譯libpam.so
在linux下編譯并執(zhí)行JPamTest.java,其中username為linux root用戶名,密碼為google身份驗(yàn)證器中的動(dòng)態(tài)密碼,如果驗(yàn)證成功,則authenticated的狀態(tài)值為True.
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。