백업 복원 후 신규 설치 환경에 로그인되지 않음

다음과 같은 설치를 진행했습니다.
forum.example.com

관리자 계정 admin@forum.example.com을 비밀번호와 2FA(2단계 인증)와 함께 보유하고 있었습니다.

결국 이를 새 도메인으로 마이그레이션하기로 결정했습니다.
community.newexample.com

이를 수행하기 전에 forum.example.com의 백업을 생성했습니다.

오늘 example.com에 새로운 커뮤니티를 만들고 싶다는 생각이 들었습니다.
모든 것을 설치하고, 새로운 관리자 계정(admin@example.com)을 생성하는 등 작업을 완료했습니다.
로그인했습니다.
백업 섹션으로 이동하여 forum.example.com을 위해 생성했던 백업을 업로드했습니다.

그 직후 로그아웃되었습니다.
새로운 자격 증명(admin@example.com)으로 로그인하려고 시도했지만, 첫 번째 설치(admin@forum.example.com)의 자격 증명을 사용하려고 하기 때문에 로그인할 수 없었습니다.

또한 forum.example.com의 2FA를 더 이상 보유하고 있지 않는데, 시스템은 이를 요구하기도 합니다.

이제 어떻게 해야 할까요?

업데이트: ChatGPT의 지시를 따름으로써 해결할 수 있었습니다:

:white_check_mark: 1단계: 서버에 SSH로 접속

ssh your-user@your-server

:white_check_mark: 2단계: Discourse 앱 컨테이너 진입

cd /var/discourse
./launcher enter app

:white_check_mark: 3단계: 관리자 사용자의 비밀번호 생성 또는 재설정

이 단계는 알려진 비밀번호로 로그인할 수 있도록 보장합니다.

rake admin:create
  • 프롬프트가 표시되면 백업에 있는 관리자의 이메일 주소(예: admin@forum.example.com)를 입력하세요.
  • 새로운 비밀번호를 입력하세요.
  • 관리자 권한 부여를 묻는 질문에 Y를 입력하세요(사용자가 이미 관리자여도 문제없습니다).

:white_check_mark: 4단계: Rails 콘솔 열기

rails c

:white_check_mark: 5단계: 이메일로 사용자 찾기

재설정하려는 이메일로 아래 내용을 교체하세요:

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

사용자 객체를 보여주는 출력을 확인해야 합니다.


:white_check_mark: 6단계: 해당 사용자의 2FA(이중 인증) 비활성화

user.user_second_factors.destroy_all

이 명령은 해당 사용자와 연관된 모든 2FA 키를 삭제합니다 — 다른 사용자에는 영향을 주지 않습니다.


:white_check_mark: 7단계: 콘솔 및 컨테이너 종료

exit

:white_check_mark: 8단계: 웹을 통해 로그인

브라우저에서 Discourse 사이트로 이동하여 다음 정보로 로그인하세요:

  • 이메일: admin@forum.example.com
  • 비밀번호: 3단계에서 설정한 비밀번호
  • 2FA: 더 이상 요구되지 않음