Webmin Two Factor Authentication Authen::OATH
這個問題從我一開始接觸到 Webmin 到現在都沒有解決的問題,所以這邊從其他方式去修復這個問題讓使用者可以用 Two Factor Authentication。

安裝 Webmin 後,為了增加你的 Webmin 的安全性
可以通過設定 Webmin Two Factor Authentication 輕鬆達成

但是 Webmin 上安裝會產生許多不同的錯誤
其中一個令人惱火的是 Authen :: OATH perl 模塊錯誤

當選擇 Google Authentication 並按 下一步 時,您可能會遇到以下錯誤

webmin_oath_perl_issue

如果點擊連結 Perl Modules 將從原始碼安裝它,但是再次可能存在其他依賴項錯誤

Can't locate ExtUtils/MakeMaker.pm

然後就開始無限迴圈了,不管怎麼案都會卡在這兩個動作
原因很簡單,可以是以下任何一個或全部

  1. 缺少像 Moose,Digest 或 Build 包這樣的 Perl 模塊。
  2. Authen :: OATH 未正確安裝。
  3. 安裝 OATH 後,您沒有重新啟動 Webmin 核心。

最後一個主要問題,因為 Authen::OATH 是從原始碼安裝的
除非重新啟動核心,否則 Webmin 將無法檢測到它
安裝 Authen::OATH 後嘗試使用 SSH 重啟 Webmin 服務,問題應該得到解決。
如果沒有,請按照以下步驟正確安裝

  1. 安裝 Perl 包
yum install gcc 'perl(Moose)' 'perl(Digest::HMAC)' 'perl(Module::Build)'

這將為 Source 構建安裝所有必需的 perl 包,並支持 WebMin 雙因素身份驗證。

注意:如果收到錯誤 No package perl(Moose)available ,請通過此下方從 tar 包安裝 perl-Moose
下載 Authen :: OATH 原始碼並解壓縮

# 下載
wget http://www.cpan.org/authors/id/S/SI/SIFUKURT/Authen-OATH-v1.0.0.tar.gz
# 解壓縮
tar -xvf Authen-OATH-v1.0.0.tar.gz
# 切換到該目錄
cd Authen-OATH-v1.0.0
# 逐個輸入這些命令
perl Build.PL
./Build
./Build test
./Build install
# 最後重新啟動 webmin
/etc/webmin/restart

然後再次回到 Webmin 設定就可以正常使用 Two Factor Authentication