Nextcloudの二要素認証を一時的に無効化する方法

Docker

約 4 分で読めます。



つい先ほど自分が困った事態がこれ。

あるスマホでのwebauthnをNextcloud adminの二要素認証に設定していた
そのスマホをメルカリで売ってしまった
→ adminでログインできなくなった



一時的に二要素認証を無効化して対処したので、そのメモ。
 参考サイト

ちなみにwebauthnの入れ方はここに。



まずNextcloudが動いているホストにSSHなどでログインし、以下コマンドを実行。
自分はdocker-composeで動かしているので、その点はご自身の環境に読み替えてください。

$ sudo docker-compose exec -u www-data nextcloud php occ twofactorauth:state admin
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see https://www.php.net/manual/en/book.pcntl.php
Additionally the function 'pcntl_signal' and 'pcntl_signal_dispatch' need to be enabled in your php.ini.
Two-factor authentication is enabled for user admin

Enabled providers:
- webauthn
Disabled providers:
- backup_codes
- email
- rcdevsopenotp
- totp
- u2f

webauthnが二要素認証のプロバイダーとして使われていることがわかります。

お次はこれを無効化。

$ sudo docker-compose exec -u www-data nextcloud php occ twofactorauth:disable admin webauthn
The process control (PCNTL) extensions are required in case you want to interrupt long running commands - see https://www.php.net/manual/en/book.pcntl.php
Additionally the function 'pcntl_signal' and 'pcntl_signal_dispatch' need to be enabled in your php.ini.
Two-factor provider webauthn disabled for user admin.

これでadminの二要素認証が無効化されましたので、ユーザー名とパスワードでログイン可能に。

新しいスマホをwebauthnに設定すれば、対処完了です。

終わりに

いかがでしたか。

一年に一回くらいはやってしまいそうなミスなので、記事として残します!

Comments

タイトルとURLをコピーしました