UPDATE: 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: Web 経由でログインする
ブラウザで Discourse サイトにアクセスし、以下を使用してログインします。
- メールアドレス:
admin@forum.example.com - パスワード: ステップ 3 で設定したもの
- 2FA: 不要になります