前言

群晖(Synology)可以开启双重验证(2FA),使得群晖的登陆相对更加安全。

我前两天在解锁手机bootloader之前,使用 MIUI 自带的备份工具备份了绝大多数数据,包括谷歌身份验证器(Google Authenticator),但是还原备份之后,却发现身份验证器里的数据全部丢失了,因此,我无法登陆群晖等一部分我开启了双重验证的网站。

今天在网上搜索良久,终于找到了解决问题的方法。

使用邮件

如果你在开启双重验证的时候设置了备份电子邮件,在无法使用身份验证器获取验证码的时候,可以使用电子邮件发送验证码。

在这里设置用于接收验证码的邮箱

当然,使用这个方法需要在个人设置里的“电子邮件投递”里面添加用于发送邮件的配置信息。

然后在登陆框下面点击“您的移动设备已丢失?”,群晖会通过配置的邮箱给接收邮箱发一封含有临时登陆验证码的邮件。

发送临时验证码

但是!我此前使用的国内邮箱是可以正常发送验证码的,后来改成了 outlook ,最后登陆上 DSM ,看到了双重验证的邮件发送成功的消息,可是今天下午我怎么也收不到验证码邮件。

ssh登陆修改

如果你的群晖也开启了 ssh 登陆,那么也可以通过 ssh 终端登陆之后,直接修改双重验证的相关配置文件。

适用于 DSM6.x的方法如下:

首先获得最高权限,输入 sudo -i

然后执行下面的命令查找:

sudo find /usr -name google_authenticator

删除对应目录的谷歌身份验证器配置,如:

rm /usr/syno/etc/preference/用户名/google_authenticator

但是我目前用的 DSM7.x,删除了这个之后还是需要验证码,甚至使用邮箱发送临时验证码也不可用了。后来经过多番搜索,找到一个方法:

cd /usr/syno/etc/packages/SecureSignIn/preference/admin(你的用户名)/

注意上面的SecureSignIn一定要这样写,否则会提示没有相应路径。我下午按照网上的写法就出错了,然后一级一级目录翻的。

然后编辑该目录下的method.config文件,把其中的status=on改成status=off即可。

修改method.config

然后刷新 DSM 的登陆页面,再次输入账号和密码登陆会发现,无需输入验证码了。

重置群晖设备

如果你使用的是白群晖,那么可以通过重置按钮来重置账户的登陆密码和双重验证状态。鉴于我手头没有设备,且网上有很多的相关方法,此处不再赘言。

总结

写这篇博文的目的是为了记录一下这次处理群晖双重验证问题的过程和方法,加上第二种方法网上所给出的或多或少有点错误,因此记录一下,也顺便总结一下:

1.不要把鸡蛋都放在一个篮子里,要有备用的方案;

2.不要充分信任备份文件的还原效果;

3.群晖的收发邮件配置好之后要测试一下,尽量不要用国外服务商的邮箱;

4.群晖包括服务器的 ssh 都可以打开,当一些功能失效的时候,它可以成为一个入口;

5.如果是外网无法直接访问群晖,其实双重验证也没那么必要。