原因:更改谷歌邮箱的验证器时,不小心将验证码修改到存储Vaultwarden自身密码的地方了,导致Vaultwarden自身无法登录了

我本身是用docker部署的Vaultwarden,主要是通过修改数据库移除2FA解决该问题(Bitwarden的数据库格式可能有所不同,可以参考该方法)

数据库:SQLite(默认),路径通常是 vaultwarden/data/db.sqlite3

  1. 进入数据库
    在服务器上进入 Vaultwarden 的数据目录,并打开 SQLite 数据库:
cd vaultwarden/datasqlite3 db.sqlite3
  1. 确认用户信息
SELECT uuid,email FROM users;

记下需要恢复的账号对应的 uuid(例如:e25cf017-740b-46e0-b914-89ef3a01c250)。

  1. 删除 2FA 配置
DELETE FROM twofactor WHERE user_uuid='用户的uuid';DELETE FROM twofactor_incomplete WHERE user_uuid='用户的uuid';
  1. 退出 SQLite并重启Vaultwarden的docker服务
.quitdocker restart vaultwarden

执行上述步骤后,该用户的二步验证信息将被清除。再次登录时,不再要求输入验证码,只需要账号密码即可进入。