ОБНОВЛЕНИЕ: Мне удалось выполнить это, следуя инструкциям ChatGPT:
Шаг 1: Подключитесь к серверу через SSH
ssh your-user@your-server
Шаг 2: Войдите в контейнер приложения Discourse
cd /var/discourse
./launcher enter app
Шаг 3: Создайте или сбросьте пароль администратора
Этот шаг гарантирует, что вы сможете войти с известным паролем.
rake admin:create
- При запросе введите адрес электронной почты администратора из резервной копии (например,
admin@forum.example.com). - Введите новый пароль.
- Введите
Y, когда будет предложено предоставить права администратора (даже если пользователь уже является администратором — это не навредит).
Шаг 4: Откройте консоль Rails
rails c
Шаг 5: Найдите пользователя по электронной почте
Замените адрес электронной почты на тот, для которого вы сбрасываете доступ:
user = User.find_by_email("admin@forum.example.com")
Вы должны увидеть вывод с объектом пользователя.
Шаг 6: Отключите двухфакторную аутентификацию (2FA) для этого пользователя
user.user_second_factors.destroy_all
Это удалит все ключи 2FA, связанные с данным пользователем, не затрагивая других.
Шаг 7: Выйдите из консоли и контейнера
exit
Шаг 8: Войдите через веб-интерфейс
Перейдите на сайт Discourse в браузере и войдите с использованием:
- Электронная почта:
admin@forum.example.com - Пароль: тот, который вы установили на Шаге 3
- 2FA: больше не потребуется