phpMyAdmin 啟用2FA
in Linux
最近把伺服器的 phpMyAdmin 升級到 4.9.1
然後就在設定裡面發現可以開啟 2FA 的選項
後來去看看 documentation 之後發現其實在 4.8.0(2018/4/19) 就加入這個功能了,沒錯啦我就是沒在更新,因為之前有過更新完系統直接掛掉的陰影存在,但其實為了安全性還是要好好的更新套件跟軟體XD
如果直接從 phpMyAdmin 官網下載下來的 zip 檔其實可以直接啟動 2FA 功能,那如果是直接 git 下來的就還要另外安裝一些套件,這邊不加以闡述
啟用 2FA 非常簡單,只要選擇第二項 “認證應用程式 (2FA)”
然後按下 “設定雙因素認證”
接下來就會看到一個 QRcode 跟密碼
這邊就要用到你的手機了,使用 Google Two Factor Authentication 或者 Authy 兩個應用程式都可以,掃描 QRCode 之後並輸入該 2FA 的驗證就可以開啟了~
那接下來就是緊急處理,如果是用 Google Two Factor Authentication 的使用者要注意,在做手機更換的時候 一定!一定!一定!一定! 一定要先把 2FA 先解除在做更換手機的動作,不然會導致無法登入 phpMyAdmin
那如果真的很不幸你真的忘記了,是有解決辦法 先用 ssh 登入你的 mysql
PS: 這邊是範例,忘記 root 的 2FA,請依照你自己的伺服器做處理
mysql -u root -p # 使用 root 登入 mysql
SELECT * FROM `phpmyadmin`.`pma__userconfig` WHERE `username` = 'root';
之後會看到一些資料
| root | 2019-09-25 16:21:20 | {"Server\/hide_db":"information_schema|mysql|performance_schema|information_schema","lang":"zh_TW","collation_connection":"utf8mb4_unicode_ci","Console\/Mode":"collapse","DefaultConnectionCollation":"utf8_unicode_ci","2fa":{"backend":"application","settings":{"secret":"KKASIRHQ904U2KS918JSEBTJ9132459U1902"}},"ThemeDefault":"pmahomme"} |
最重要最重要的就是在後面的 JSON 資料中的 “2fa”
裡面有個 “secret” 把這段輸入到 Google Two Factor Authentication 中就可以繼續使用了
PS: 這邊的範例是假的,當然沒有這麼的長