# 恢复备份后，新安装无法登录

**URL:** <https://meta.discourse.org/t/cant-login-to-a-new-installation-after-restoring-backup/374106>\
**Category:** Self-hosting\
**Created:** [2025年七月14日 08:45 UTC](https://meta.discourse.org/t/cant-login-to-a-new-installation-after-restoring-backup/374106 "2025-07-14T08:45:44Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)\
**Post date:** [2025年七月14日 08:45 UTC](https://meta.discourse.org/t/cant-login-to-a-new-installation-after-restoring-backup/374106/1 "2025-07-14T08:45:44Z")

</div>

我有一个安装  
`forum.example.com`  
我有我的管理员账户 `admin@example.com`，以及我的密码和双重身份验证 (2FA)

最终我决定将其迁移到一个新域名  
`community.newexample.com`

在执行此操作之前，我创建了 `forum.example.com` 的备份

今天我决定要在 `example.com` 创建一个新的社区  
安装了所有东西，创建了新的管理员账户（管理员 2），等等。  
登录了。  
进入了备份部分，并上传了我为 `forum.example.com` 创建的备份

它将我登出了。  
当我尝试使用“管理员 2”的新凭据登录时，它不允许我登录，因为我猜测它现在正尝试使用第一次安装的凭据。

问题还在于我不再拥有 `forum.example.com` 的双重身份验证 (2FA)，但它也要求提供该信息。

我现在该怎么办？

---

<div class="post-metadata">

**Author:** ![alltiagocom](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/alltiagocom/32/492709_2.png) [@alltiagocom](https://meta.discourse.org/u/alltiagocom)\
**Post date:** [2025年七月14日 09:08 UTC](https://meta.discourse.org/t/cant-login-to-a-new-installation-after-restoring-backup/374106/2 "2025-07-14T09:08:04Z")

</div>

更新：我已按照 ChatGPT 的说明完成操作：

### ✅ **步骤 1：SSH 登录到您的服务器**

```bash
ssh your-user@your-server

```

* * *

### ✅ **步骤 2：进入 Discourse 应用容器**

```bash
cd /var/discourse
./launcher enter app

```

* * *

### ✅ **步骤 3：创建或重置管理员用户的密码**

此步骤可确保您可以使用已知密码登录。

```bash
rake admin:create

```

- 出现提示时，请输入备份中的管理员的 **电子邮件地址** （例如 `admin@forum.example.com`）。
- 输入 **新密码** 。
- 当询问是否授予管理员权限时，键入 `Y`（即使该用户已经是管理员，也不会有影响）。

* * *

### ✅ **步骤 4：打开 Rails 控制台**

```bash
rails c

```

* * *

### ✅ **步骤 5：按电子邮件查找用户**

替换为您要重置的电子邮件：

```ruby
user = User.find_by_email("admin@forum.example.com")

```

您应该会看到一些显示用户对象的输出。

* * *

### ✅ **步骤 6：禁用该用户的双重身份验证**

```ruby
user.user_second_factors.destroy_all

```

这将删除与该用户关联的所有双重身份验证密钥，而不会影响其他人。

* * *

### ✅ **步骤 7：退出控制台和容器**

```ruby
exit

```

* * *

### ✅ **步骤 8：通过 Web 登录**

在浏览器中打开您的 Discourse 站点，并使用以下信息登录：

- 电子邮件：`admin@forum.example.com`
- 密码：您在步骤 3 中设置的密码
- 双重身份验证： **将不再需要**

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)\
**Post date:** [2025年八月13日 09:08 UTC](https://meta.discourse.org/t/cant-login-to-a-new-installation-after-restoring-backup/374106/3 "2025-08-13T09:08:35Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
