本ブログでは、WordPress プラグインの Google Authenticator を使用しています。Google の2段階認証、安心です!
ですがもし、認証コードを発行する iPhone が無くなったら?亡くなったら?どういたしましょう。。。WordPress にログインできません><。
そこで今回、iPhone や Android をなくしてしまった場合に、WordPress の Google Authenticator を強引にオフ(Active のチェックを外す)にして、管理画面にユーザー名とパスワードだけでログイン出きるようにする方法を調べます。
ポイント
- MySQL のデータを直接編集して Google Authenticator をオフにする。
- wp_usermeta テーブルの meta_key 列の値が googleauthenticator_enabled である行の meta_value 列の値を disabled に変更すれば良い。
- 値を変更する際、条件にユーザーを指定すること!
具体的に、MySQL のデータを直接編集してとあるユーザーの Google Authenticator をオフにする手順
- ユーザー名「admin」でログインしたい
- パスワードも手元にある
- Google Authenticator プラグインをインストール済みで使用するよう設定してオンにしてある
でも、iPhone をなくしてしまって WordPress にログインできない、でもしなきゃならない><、という状況を想定します。
ユーザー名が「admin」とセキュリティ観点からは最低ですけれども、今はそこには触れません。
SSH でサーバーにログインし、そこから MySQL にログインし、WordPress のデーターベースを編集できるようになった時点から始めます。ちなみに、CUI での操作でやってみています。
まずは、ログインしたいユーザーの ID を調べます。
mysql> SELECT ID, user_login from wp_users; +----+---------------+ | ID | user_login | +----+---------------+ | 1 | admin | | 5 | Cais | | 4 | Chip Bennett | | 3 | Ian Stewart | | 2 | Lance Willett | +----+---------------+ 5 rows in set (0.00 sec) mysql>
「admin」の ID は「1」だとわかりました。
次に「admin」の Google Authenticator 設定で有効無効がどうなっているかを確認します。
mysql> SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE meta_key = 'googleauthenticator_enabled' AND user_id = 1; +---------+-----------------------------+------------+ | user_id | meta_key | meta_value | +---------+-----------------------------+------------+ | 1 | googleauthenticator_enabled | enabled | +---------+-----------------------------+------------+ 1 row in set (0.00 sec) mysql>
googleauthenticator_enabled は enabled と、確かに有効となっています。この値をアップデートして、無効にすればよいですね。
では実際に、googleauthenticator_enabled に対応する meta_value の値を変更しましょう。
mysql> UPDATE wp_usermeta SET meta_value = 'disabled' WHERE meta_key = 'googleauthenticator_enabled' AND user_id = 1; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>
確認します。
mysql> SELECT user_id, meta_key, meta_value FROM wp_usermeta WHERE meta_key = 'googleauthenticator_enabled' AND user_id = 1; +---------+-----------------------------+------------+ | user_id | meta_key | meta_value | +---------+-----------------------------+------------+ | 1 | googleauthenticator_enabled | disabled | +---------+-----------------------------+------------+ 1 row in set (0.00 sec) mysql>
googleauthenticator_enabled が disabled に更新されました。ログイン画面を確かめてみます。
相変わらず Google Authenticator code を入力するフォームが表示されていますので、アイエエエエエエエエエ!ナンデ!?ひょっとして失敗!?と思うかもしれませんが、落ち着いて。試してみましょう。
まずは敢えて間違えてみます。おお!ゴウランガ!見よ!Google Authenticator code が間違えている旨のメッセージが表示されないではないか!これは期待がもてますね♪
ユーザー名、パスワードを入力し、Google Authenticator code の欄は未記入のまま「ログイン」をクリック。はい!無事に管理画面にアクセスすることできました。成功です。
おまけ。もっとステキに 1 回で Google Authenticator プラグインが「Active」かどうか調べる SQL
wp_users.ID = wp_usermeta.user_id でテーブルを結合すれば、1 回の SQL で、条件はログインユーザー名で Google Authenticator プラグインが「Active」かどうかを調べることができますね♪
- SELECT wp_users.user_login, wp_usermeta.meta_key, wp_usermeta.meta_value FROM wp_users, wp_usermeta WHERE wp_users.ID = wp_usermeta.user_id
AND wp_usermeta.meta_key = ‘googleauthenticator_enabled’ AND wp_users.user_login = ‘admin’;
mysql> SELECT wp_users.user_login, wp_usermeta.meta_key, wp_usermeta.meta_value -> FROM wp_users, wp_usermeta -> WHERE wp_users.ID = wp_usermeta.user_id -> AND wp_usermeta.meta_key = 'googleauthenticator_enabled' -> AND wp_users.user_login = 'admin'; +------------+-----------------------------+------------+ | user_login | meta_key | meta_value | +------------+-----------------------------+------------+ | admin | googleauthenticator_enabled | disabled | +------------+-----------------------------+------------+ 1 row in set (0.00 sec) mysql>
おまけ。Google Authenticator プラグインの「有効化」と「Active」設定がログイン画面に及ぼす影響
- プラグイン画面の Google Authenticator を「有効化」にすると、ログイン画面に Google Authenticator code のフォームが表示される。表示されるだけなので、未記入でログインできる。
- ユーザープロフィール画面で Google Authenticator Settings の「Active」にチェックしてプロフィールを更新すると、Google Authenticator code に正しい値を入力してやっとログインできるように動きが変わる。
おまけ。普通に正規の手順で WordPress プラグイン Google Authenticator をオフにする方法
簡単です♪
- ユーザー一覧 > プロフィール
- 「Google Authenticator Settings」にある「Active」のチェックを外す
- 「プロフィールを更新」をクリック
おわりに
今回の方法は、ほんとうに本当に緊急事態の場合だけに使おうと思います。そもそも iPhone などの重要な端末をなくしてしまう、手元にないこと自体、問題です。
ちょっと見当たらないからといって、Google Authenticator プラグインをオフにして WordPress にログインしましょう、という発想はおかしく感じます。
今回の投稿は、次のページの最後部を拝見しましたのがきっかけです。ありがとうございます♪
以上です。
「【最後の手段】WordPress プラグイン、Google Authenticator を強引にオフにする方法!」への1件の返信
[…] 【最後の手段】WordPress プラグイン、Google Authenticator を強引にオフにする方法! | oki2a24 […]