[태그:] 워드프레스

  • 워드프레스 관리자 페이지 비밀번호 찾는 방법 완벽 가이드

    워드프레스 관리자 비밀번호를 잊어버렸을 때 당황하지 마세요. 이 글에서는 관리자 페이지에 다시 접속할 수 있는 다양한 방법을 상세하게 안내해드립니다.

    목차

    1. 이메일을 통한 비밀번호 재설정 (가장 간단한 방법)
    2. functions.php 파일 수정하기
    3. phpMyAdmin으로 데이터베이스 직접 수정
    4. WP-CLI 사용하기
    5. Emergency Password Reset Script 사용

    1. 이메일을 통한 비밀번호 재설정

    가장 기본적이고 안전한 방법입니다.

    단계별 진행방법

    1. 워드프레스 로그인 페이지(yoursite.com/wp-admin)로 이동
    2. “비밀번호를 잊으셨나요?” 또는 “Lost your password?” 링크 클릭
    3. 관리자 계정의 이메일 주소 또는 사용자명 입력
    4. 이메일로 받은 비밀번호 재설정 링크 클릭
    5. 새로운 비밀번호 설정

    주의사항

    • 등록된 이메일 주소에 접근할 수 있어야 합니다
    • 스팸 메일함도 확인해보세요
    • 이메일이 오지 않으면 다른 방법을 사용해야 합니다

    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 정보를 받거나, 호스팅 제어판의 파일 매니저를 사용하세요.


    마무리

    워드프레스 관리자 비밀번호를 분실해도 당황하지 마세요. 위의 방법들을 순서대로 시도해보면 대부분의 경우 해결할 수 있습니다.

    권장 순서:

    1. 이메일 비밀번호 재설정 (가장 안전)
    2. functions.php 수정 (FTP 접근 가능 시)
    3. phpMyAdmin 수정 (데이터베이스 접근 가능 시)
    4. WP-CLI (SSH 접근 가능 시)
    5. Emergency Script (긴급 상황)

    어떤 방법을 사용하든 보안을 최우선으로 생각하고, 작업 후에는 반드시 추가한 코드나 파일을 삭제하는 것을 잊지 마세요!