
一般情况下,我们都是使用用户名、密码登录Nextcloud,如果出现用户密码设置过于简单、在公共设备登录过Nextcloud、撞库等情况,将会给保存在Nextcloud服务器上面的数据带来极大的安全隐患。
以下将为大家介绍如何开启Nextcloud双因素认证登录,让Nextcloud登录更安全。
什么是双因素认证?
双因素认证是一种采用时间同步技术的系统,采用了基于时间、事件和密钥三变量而产生的一次性密码来代替传统的静态密码。每个动态密码卡都有一个唯一的密钥,该密钥同时存放在服务器端,每次认证时动态密码卡与服务器分别根据同样的密钥,同样的随机参数(时间、事件)和同样的算法计算了认证的动态密码,从而确保密码的一致性,从而实现了用户的认证。因每次认证时的随机参数不同,所以每次产生的动态密码也不同。由于每次计算时参数的随机性保证了每次密码的不可预测性,从而在最基本的密码认证这一环节保证了系统的安全性。解决因口令欺诈而导致的重大损失,防止恶意入侵者或人为破坏,解决由口令泄密导致的入侵问题。
管理员帐号登录Nextcloud,进入应用管理,搜索并安装【Two-Factor TOTP Provider】,然后启用,如无法在后台搜索安装,请参照《手动离线安装Nextcloud应用》方法进行安装。

每个用户可选择是否开启双因素认证,使用其中一个用户登录Nextcloud,进入设置页面,点击左侧【安全】,将出现如下页面。

到这里我们先停一停,先在手机上安装TOTP Authenticator app,App长这样。
水果用户在App Store搜索安装。
安卓用户有条件当然是上Google Play下载安装了,没有条件怎么办?手头上常用的市场基本搜不到双因素认证的软件。这里安利一下F-Droid。
F-Droid 是什么?
F-Droid 是一个 Android 平台上 FOSS(Free and Open Source Software,自由开源软件)应用程序的目录,并提供下载安装支持。使用客户端可以更轻松地浏览、安装及跟进您设备上的应用更新。

下载F-DROID安装到手机,在手机上使用F-DROID或者直接在F-DROID官网上搜索相关双因素认证软件,下载安装,只要支持 RFC 6238 即可。虽然下载速度有点感人,但总比下载不了的强。

笔者同时下载了 FreeOTP 以及 andOTP ,FreeOTP使用简单,可导出导入数据,而andOTP支持密码认证启动软件、数据导出导入、加密备份文件、图标个性化等。
再回到用户的Nextcloud【安全】页面,点击【生成备用码】,备用码有什么用?后面会讲。
系统会生成10个备用码,用户可以拷贝保存或将其打印出来,放在安全的地方。

然后勾选下方的【启用TOTP】,将出现一个二维码。

手机上打开双因素认证软件,由于andOTP禁止手机截屏,下面以FreeOTP为例,点击右上角菜单的“Scan QR Code”,扫描页面上的二维码。

扫描成功后,FreeOTP出现如下条目内容。

点击一下条目,出现一个一次性的6位随机码,随机码是有时效性的,左边显示时效倒数,约为30秒有效时间,过了软件将重新生成一个随机码。

把刚生成的随机码,填入下图所显示的内容框中,并点击验证,完成TOTP的开启及软件绑定。

如下图所示,则表示开启绑定成功。

退出Nextcloud系统,重新登录,输入用户名、密码,点击登录。

出现双因素认证页面,打开手机上的FreeOTP,点击一下刚才绑定好的对应条目,同样会生成一个一次性的6位的随机码,填入【验证码】框中,点击提交,顺利登录Nextcloud。

至此,Nextcloud的双因素认登录已开启成功并正常使用,即使用户名及密码泄露,没有双因素认证的验证码,还是无法登录系统的,在一定程序上起到登录保护作用。
但如果当你想登录Nextcloud时,才发现手机上的双因素认证软件出现问题、数据掉失、手机没电、手机没带在身上等情况,无法生成双因素认证随机码,怎么办?
记得前面操作生成的备用码吗?这个时候他们就派上用场了,在双因素认证页面,点击下方的【使用备用口令】。

在你之前保存、或打印好的10个备用码中,选一个填入【备用码】框中,点击【提交】即可顺利登录系统。

再进入【安全】页面,我们会看到”备用码已生成。备用码 10条中的 1 条已被使用。 “的提示,每条备用码只能使用一次。

不建议长期使用备用码登录,万一忘记生成新的备用码,而手上备用码也用光了,将无法登录系统了。尽快恢复使用双因素认证软件才是上策。