您好,登錄后才能下訂單哦!
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下
執行./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身份驗證器
通過手機,ipad等下載,打開身份驗證器,在google身份驗證器中輸入用戶名(一般使用郵件),秘鑰則輸入./google-authenticator結果中的secret key,選擇基于時間候保存,就可以看到每30s生成一個6位數的隨機數。
3、下載JPam
官網:http://jpam.sourceforge.net/
wget http://sourceforge.net/projects/jpam/files/jpam/jpam-1.1/JPam-Linux_amd64-1.1.tgz/download
按照JPam安裝說明,
a> 首先在/etc/pam.d下,創建一個google-auth文件,在文件中添加如下內容:
auth required /lib64/security/pam_google_authenticator.so use_first_pass
account required /lib64/security/pam_unix_acct.so
b> 寫一個JPamTest.java程序
String user1Name = "root"; String user1Credentials = "password"; Pam pam = new Pam("google-auth"); //如果不輸入名稱,則默認使用net-sf-jpam boolean authenticated = pam.authenticateSuccessful(user1Name, user1Credentials)); JPamTest.java依賴JPam1.1.jar,libjpam.so(此動態庫有問題,需要按照下面的步驟重新編譯)
下載源碼,并重新編譯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
修改后,執行make,重新編譯libpam.so
在linux下編譯并執行JPamTest.java,其中username為linux root用戶名,密碼為google身份驗證器中的動態密碼,如果驗證成功,則authenticated的狀態值為True.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。