懒猫微服实战入门(六):使用2fauth共享你的MFA

标题有点绕口,甚至听起来有点反直觉。

故事的背景是这样的,去参加了 AWS 的活动给的账户强制开 MFA,但是我们还想团队内部 share 使用,于是产生了这个需求。

登录到 AWS 的控制台强制开了 MFA,而且在第一次注册的时候强制绑定多因子验证。这也就意味着,其他人如果想登录这个账户就得随时 call 我,然后我去发给他数据验证码,这实在很不方便,所以想到了共享的 MFA 的需求。

image-20250516164159950

头几天逛商店看到的,觉得项目有点意思就下载了,没想到这么快用到了。懒猫商店,一键部署很方便,当成 Saas 服务来用,完全不考虑部署运维的事情。

image-20250516163824579

之前给小伙伴开了懒猫微服的账户,共享了 planka 来看项目进度,这次把 2fauth 的权限也添加给他。

image-20250516163911970

首先我这边先注册管理员的账户,默认是登录页面,需要切换一下。

image-20250516164749502

登录之后会提示绑定一下这个账户的 MFA,我就是为了不在手机上安装 MFA 软件才用这个的,就不要套娃了。反正外面还有懒猫的验证系统,那个还有 TLS 加密,安全码验证。

image-20250516164845425

选择不绑定设备之后,在这里导入需要设置的 MFA,这可以用摄像头或者导入二维码文件。我用的电脑端,所以直接在应用处截图,然后导入到这里了。

image-20250516164821161

点击最下面的导入,然后选择二维码 - 上传 就可以了。

image-20250516165311672

导入之后是这样的,可以二次确认签发机构。

image-20250516165259782

然后把生成的 6 位数字填写到 aws 控制台上,就可以成功验证了。

image-20250516165435265

在 2fauth 控制台上是这样的,点开就可以查看 6 位数字验证码。

image-20250516165711375

那么回到一开始的话题,怎么共享给其他账户呢?点击下方 - 管理员 - 用户 ,然后我们来新建一个普通用户。步骤基本和前面的一致。

image-20250516165543137

本来以为有用户组一类的概念,把两个用户和 MFA 放在一个组里达到 share 的目的,结果发现这个分组完全是用来区分的 TAG。也没有找到把用户加到组里的操作。那就从管理员导出,再从下一个用户导入吧。

首先试了二维码,但是导入的时候就提示 server error。于是查了了 wiki,都是其他 MFA 软件导入 2fauth 的。无奈只能只能导出配置文件。名字叫做 2fauth_export.json

image-20250516170143799

登录新用户的时候新建,然后选择文本文件。导入刚才的配置文件就可以了。

image-20250516165311672

配置文件基本长这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"app": "2fauth_v5.3.2",
"schema": 1,
"datetime": "2025-05-16T08:35:07.676665Z",
"data": [
{
"otp_type": "totp",
"account": "Q",
"service": "AWS SSO",
"icon": null,
"icon_mime": null,
"icon_file": null,
"secret": "secretsss",
"digits": 6,
"algorithm": "sha1",
"period": 30,
"counter": null,
"legacy_uri": "otpauth://totp/"
}
]
}

整个过程有点绕,有人说每个人手机安装 google authenticator 扫一下不就好了吗?

为什么采取这个方案?

  1. 之前用手机安装类似软件,每次去三里屯维修的时候都说返厂要把数据抹掉,下次还得重新绑定,还有一些软件只认 MFA 不认人。

    这过程不光折腾的够呛,而且 Apple 本身的问题还要 MFA 来买单。

  2. 起初是想做一个类似于团队共享 MFA 的场景的,类似于 RBAC,控制起来很灵活,但是实际体验下来是没有达到的。

  3. 把最早的 MFA 二维码截图 share 出去也能扫,但是不确定有效时间。

懒猫微服实战入门(六):使用2fauth共享你的MFA

https://xu-hardy.github.io/懒猫微服实战入门(六):使用2fauth共享你的mfa/

作者

Xu

发布于

2025-07-02

更新于

2025-07-01

许可协议

评论