Nextcloudアプリの「A Two-Factor-Auth Provider for e-mail」を試してみました.これはNextcloud認証時にユーザID/パスワードで認証した後設定されたメールアドレスにワンタイムトークンが届いて,それを使って2要素目の認証ができるようになるものです.
$ sudo -u www-data php occ app:install twofactor_admin
twofactor_admin 3.0.0 installed
twofactor_admin enabled
まずは導入.occ
コマンドでインストールしました.WebIFからでもOKです.
2要素認証を有効にしたいユーザでNextcloud Webにログインして,「右上のアイコン」→「設定」→「個人情報」の「メール」に正しいメールアドレスが設定されているのを確認して,「セキュリティ」→「二要素認証」→「Email verification」の「Enable」を押して有効にします.
Note
|
電子メールアドレスが未登録だと以下のようなメッセージとなりました. Could not generate a code: user hoge does not exist |
するとトークンがNextcloudに設定したメールアドレスに送信されるのでメールを確認してトークンをテキストボックスに入力して,「Veryfi」を押して確認します.
うまく行きました.
一旦ログアウトしてログインしてみます.
ユーザID/パスワードで認証した後,「Email verification」の画面になります.メールが送信されているはずかので確認してそこに書かれているトークンを入力してログインします.
2要素認証ではTOTP以外にもSMS, Telegram, Signalなどもありますがそれぞれ設定が面倒です.電子メールであればユーザの設定は少ないので良さそうです.
環境
$ sudo -u www-data php occ app:list | grep previewgenerator:
- previewgenerator: 3.1.1
$ sudo -u www-data php occ --version
Nextcloud 20.0.8
$ dpkg-query -W php mariadb-server apache2
apache2 2.4.38-3+deb10u4
mariadb-server 1:10.3.27-0+deb10u1
php 2:7.3+69
$ lsb_release -dr
Description: Debian GNU/Linux 10 (buster)
Release: 10
$ uname -m
x86_64