워드프레스 관리자 비밀번호를 잊어버렸을 때 당황하지 마세요. 이 글에서는 관리자 페이지에 다시 접속할 수 있는 다양한 방법을 상세하게 안내해드립니다.
목차
- 이메일을 통한 비밀번호 재설정 (가장 간단한 방법)
- functions.php 파일 수정하기
- phpMyAdmin으로 데이터베이스 직접 수정
- WP-CLI 사용하기
- Emergency Password Reset Script 사용
1. 이메일을 통한 비밀번호 재설정
가장 기본적이고 안전한 방법입니다.
단계별 진행방법
- 워드프레스 로그인 페이지(yoursite.com/wp-admin)로 이동
- “비밀번호를 잊으셨나요?” 또는 “Lost your password?” 링크 클릭
- 관리자 계정의 이메일 주소 또는 사용자명 입력
- 이메일로 받은 비밀번호 재설정 링크 클릭
- 새로운 비밀번호 설정
주의사항
- 등록된 이메일 주소에 접근할 수 있어야 합니다
- 스팸 메일함도 확인해보세요
- 이메일이 오지 않으면 다른 방법을 사용해야 합니다
2. functions.php 파일 수정하기
FTP나 파일 매니저에 접근할 수 있다면 이 방법을 사용할 수 있습니다.
방법 1: 임시 관리자 계정 생성
단계별 진행
1. FTP 클라이언트나 호스팅 파일 매니저로 접속
- FileZilla, WinSCP 등의 FTP 프로그램 사용
- 또는 호스팅 제어판의 파일 매니저 사용
2. functions.php 파일 찾기
경로: /wp-content/themes/사용중인테마이름/functions.php
3. 파일 백업하기 (매우 중요!)
- 원본 파일을 복사하여 functions.php.backup 등으로 저장
4. functions.php 파일 열고 맨 아래에 다음 코드 추가
<?php
function create_temp_admin_user() {
$username = 'temp_admin';
$password = 'TempPassword123!@#';
$email = 'temp@yourdomain.com';
if (!username_exists($username) && !email_exists($email)) {
$user_id = wp_create_user($username, $password, $email);
$user = get_user_by('id', $user_id);
$user->set_role('administrator');
echo '임시 관리자 계정이 생성되었습니다!';
}
}
add_action('init', 'create_temp_admin_user');
?>
5. 파일 저장 후 사이트 방문
- 사이트의 어느 페이지든 한 번 접속하면 계정이 생성됩니다
- 메시지가 표시되면 계정 생성 완료
6. 임시 계정으로 로그인
- 사용자명: temp_admin
- 비밀번호: TempPassword123!@#
7. 기존 관리자 비밀번호 재설정
- 대시보드 → 사용자 → 모든 사용자
- 원래 관리자 계정 클릭
- 새 비밀번호 설정
8. 반드시 추가한 코드 삭제!
- functions.php에서 추가한 코드 전체 삭제
- 임시 계정도 삭제 (선택사항이지만 권장)
방법 2: 기존 사용자 비밀번호 직접 변경
<?php
function reset_admin_password() {
$user_id = 1; // 변경하려는 사용자 ID (보통 1이 첫 번째 관리자)
$new_password = 'NewPassword123!@#';
wp_set_password($new_password, $user_id);
echo '비밀번호가 변경되었습니다!';
}
add_action('init', 'reset_admin_password');
?>
중요: 사이트를 한 번 방문한 후 반드시 이 코드를 삭제하세요!
주의사항
- 보안 위험: 코드 삭제를 잊으면 누구나 비밀번호를 재설정할 수 있습니다
- 사용자 ID 확인: 사용자 ID가 1이 아닐 수 있으니 데이터베이스에서 확인
- PHP 구문 오류 주의: 코드 입력 시 오타가 있으면 사이트 전체가 오류날 수 있습니다
- 작업 전 백업 필수: 원본 파일을 꼭 백업하세요
3. phpMyAdmin으로 데이터베이스 직접 수정
데이터베이스에 직접 접근하여 비밀번호를 변경하는 방법입니다.
준비물
- phpMyAdmin 접속 정보 (호스팅 제어판에서 확인)
- 데이터베이스 사용자명 및 비밀번호
단계별 진행
1. phpMyAdmin 접속
- 호스팅 제어판(cPanel, Plesk 등)에서 phpMyAdmin 클릭
2. 워드프레스 데이터베이스 선택
- 좌측 목록에서 워드프레스 데이터베이스 클릭
3. wp_users 테이블 찾기
- wp_users 테이블 클릭 (접두사가 다를 수 있음)
4. 관리자 계정 찾기
- user_login 열에서 관리자 사용자명 확인
5. 비밀번호 변경
- 해당 행의 “편집” 버튼 클릭
- user_pass 필드 찾기
- 함수 드롭다운에서 MD5 선택
- 값 입력란에 새로운 비밀번호 입력 (평문으로)
- “실행” 또는 “저장” 버튼 클릭
예시
| 필드 | 함수 | 값 |
|---|---|---|
| user_pass | MD5 | MyNewPassword123 |
MD5 vs 직접 해시 입력
워드프레스는 실제로 MD5가 아닌 더 강력한 해시를 사용하지만, MD5를 선택하면 워드프레스가 다음 로그인 시 자동으로 안전한 해시로 변환합니다.
주의사항
- 데이터베이스 작업 전 반드시 백업
- 잘못된 수정은 사이트 전체에 영향을 줄 수 있습니다
- 테이블 접두사가 wp_가 아닐 수 있으니 확인 필요
4. WP-CLI 사용하기
SSH 접근이 가능하고 WP-CLI가 설치되어 있다면 가장 빠른 방법입니다.
사전 요구사항
- SSH 접속 권한
- WP-CLI 설치
명령어
# 워드프레스 디렉토리로 이동 cd /path/to/wordpress # 비밀번호 변경 wp user update admin --user_pass="NewPassword123"
사용자명으로 변경
wp user update 사용자명 --user_pass="새비밀번호"
사용자 ID로 변경
wp user update 1 --user_pass="새비밀번호"
모든 사용자 목록 보기
wp user list
장점
- 빠르고 안전함
- 자동으로 강력한 해시 적용
- 실수할 여지가 적음
5. Emergency Password Reset Script 사용
워드프레스 공식 Emergency Password Reset Script를 사용하는 방법입니다.
단계별 진행
1. 스크립트 다운로드
- 워드프레스 공식 문서에서 스크립트 확인
2. emergency.php 파일 생성
- 워드프레스 루트 디렉토리에 emergency.php 파일 생성
3. 다음 코드 입력
<?php
require_once('./wp-blog-header.php');
require_once('./wp-includes/registration.php');
if ( !empty($_POST['emergency_pass']) ) {
$user_login = 'admin'; // 관리자 사용자명
$user = get_user_by('login', $user_login);
if ( $user ) {
wp_set_password($_POST['emergency_pass'], $user->ID);
echo '비밀번호가 성공적으로 변경되었습니다!';
} else {
echo '사용자를 찾을 수 없습니다.';
}
}
?>
<form method="post">
<label>새 비밀번호: </label>
<input type="password" name="emergency_pass" />
<input type="submit" value="비밀번호 변경" />
</form>
4. 브라우저에서 접속
- yoursite.com/emergency.php 접속
- 새 비밀번호 입력 후 제출
5. 사용 후 즉시 파일 삭제
- 보안을 위해 반드시 삭제!
비밀번호 분실 예방 팁
1. 비밀번호 관리자 사용
- LastPass, 1Password, Bitwarden 등 활용
- 강력한 비밀번호를 안전하게 저장
2. 이메일 주소 최신 상태 유지
- 관리자 계정의 이메일을 정기적으로 확인
- 접근 가능한 이메일 주소로 유지
3. 2단계 인증 활성화
- Google Authenticator, Authy 등의 플러그인 사용
- 추가 보안 계층 제공
4. 백업 관리자 계정 생성
- 보조 관리자 계정을 미리 만들어두기
- 다른 이메일 주소 사용
5. 정기적인 백업
- 데이터베이스 정기 백업
- 파일 백업도 함께 진행
보안 주의사항
강력한 비밀번호 만들기
- 최소 12자 이상
- 대소문자, 숫자, 특수문자 조합
- 사전에 있는 단어 피하기
- 개인정보 포함하지 않기
예시
잘못된 예: password123, admin2024, myname1234 좋은 예: K#9mP$vL2@xQ, Tr8!pK2$wN5@, 5Jm#9Lp$2Wq!
작업 후 체크리스트
- functions.php에 추가한 코드 삭제했는가?
- emergency.php 파일 삭제했는가?
- 임시 관리자 계정 삭제했는가?
- 새 비밀번호를 안전한 곳에 저장했는가?
- 데이터베이스 접속 기록 확인했는가?
자주 묻는 질문 (FAQ)
Q1. functions.php 수정 후 사이트가 깨졌어요!
답변: PHP 구문 오류가 발생했을 가능성이 큽니다. FTP로 접속하여 백업해둔 원본 파일로 복구하세요.
Q2. phpMyAdmin에서 비밀번호를 바꿨는데 로그인이 안 돼요.
답변: MD5 함수를 선택했는지 확인하세요. 함수 선택 없이 직접 해시를 입력하면 작동하지 않습니다.
Q3. 사용자 ID가 1이 아니에요.
답변: phpMyAdmin에서 wp_users 테이블을 확인하거나, functions.php에서 사용자명으로 찾는 코드를 사용하세요.
Q4. 모든 방법을 시도했는데도 로그인이 안 돼요.
답변:
- 플러그인 충돌 가능성: FTP로 /wp-content/plugins 폴더명을 임시로 변경
- 테마 문제: /wp-content/themes 폴더에서 다른 테마로 변경
- .htaccess 문제: 파일을 임시로 이름 변경하여 테스트
Q5. FTP 정보가 없어요.
답변: 호스팅 제공업체에 문의하여 FTP 정보를 받거나, 호스팅 제어판의 파일 매니저를 사용하세요.
마무리
워드프레스 관리자 비밀번호를 분실해도 당황하지 마세요. 위의 방법들을 순서대로 시도해보면 대부분의 경우 해결할 수 있습니다.
권장 순서:
- 이메일 비밀번호 재설정 (가장 안전)
- functions.php 수정 (FTP 접근 가능 시)
- phpMyAdmin 수정 (데이터베이스 접근 가능 시)
- WP-CLI (SSH 접근 가능 시)
- Emergency Script (긴급 상황)
어떤 방법을 사용하든 보안을 최우선으로 생각하고, 작업 후에는 반드시 추가한 코드나 파일을 삭제하는 것을 잊지 마세요!
답글 남기기