[Ghost] 매번 오는 로그인 인증 메일 끄기 (staffDeviceVerification 설정법)
Ghost 블로그를 운영하면서 가장 번거로운 순간이 언제인가요?
저는 단연코 '로그인' 할 때입니다.
Ghost는 보안을 위해 새로운 기기나 브라우저에서 접속할 때마다 관리자 이메일로 6자리 인증 코드를 보냅니다. 보안상으로는 훌륭하지만, 저처럼 혼자서 자주 접속하는 사람에게는 매번 메일함을 열어야 하는 과정이 꽤나 귀찮습니다.
오늘은 Docker 환경에서 이 '이메일 인증(기기 인증)' 과정을 생략하고, 아이디와 비밀번호만으로 즉시 로그인하도록 설정을 변경하는 방법을 공유합니다.
💡 해결 방법: 환경 변수 추가
Ghost 설정 중 security__staffDeviceVerification이라는 옵션이 있습니다. 기본값은 true로 되어 있는데, 이걸 false로 바꿔주면 인증 절차를 건너뜁니다.
우리는 Docker Compose로 서버를 구축했으니, 컨테이너 내부 파일을 건드리는 대신 docker-compose.yml 파일에 환경 변수를 한 줄 추가하면 깔끔하게 해결됩니다.
1. docker-compose.yml 파일 수정
터미널(SSH)로 서버에 접속한 뒤, Ghost가 설치된 폴더로 이동해 설정 파일을 엽니다.
Bash
cd ~/ghost-blog
nano docker-compose.yml
2. 환경 변수(environment) 추가
파일 내용 중 ghost 서비스 아래에 있는 environment: 섹션을 찾습니다.
가장 아랫줄에 다음 코드를 추가합니다.
YAML
security__staffDeviceVerification: 'false'
[작성 예시]
YAML
services:
ghost:
image: ghost:5-alpine
environment:
url: https://richbaeksu.com
database__connection__host: db
# ... (기존 설정들) ...
database__connection__database: ghost
# ▼ 이 부분을 추가하세요
security__staffDeviceVerification: 'false'
주의할 점: 들여쓰기(띄어쓰기) 칸 수를 위 라인들과 정확히 맞춰야 에러가 나지 않습니다.
3. Ghost 재시작
수정한 내용을 저장(Ctrl+O -> Enter)하고 에디터를 빠져나온(Ctrl+X) 뒤, Docker를 다시 실행하여 변경 사항을 적용합니다.
Bash
sudo docker compose up -d
🚀 결과 확인
이제 로그아웃 후 다시 로그인을 시도해 보세요.
지겨웠던 "이메일 코드를 입력하세요" 창이 뜨지 않고, 아이디와 비밀번호 입력만으로 1초 만에 관리자 대시보드에 진입하는 것을 확인할 수 있습니다.
⚠️ 보안 주의사항
이 기능은 편의성을 위해 '2단계 인증'과 유사한 보호막을 걷어내는 것과 같습니다. 따라서 이 설정을 적용하신다면 관리자 비밀번호를 반드시 길고 복잡하게(특수문자 포함) 설정하여 보안을 강화하시길 권장합니다.