도메인 계정으로 컴퓨터에 로그인하려는데 갑자기 '신뢰 관계 실패' 오류가 나타난 경험이 있으신가요? 이 글에서는 워크스테이션과 Active Directory(AD) 도메인 간의 깨진 신뢰 관계를 복구하는 방법을 소개합니다. 문제의 근본 원인을 살펴보고, 컴퓨터를 재부팅하거나 도메인에서 탈퇴 후 재가입하는 번거로운 과정 없이 보안 채널을 통해 도메인 컨트롤러와의 신뢰 관계를 손쉽게 복구하는 방법까지 함께 알아보겠습니다.
"이 워크스테이션과 기본 도메인 간의 신뢰 관계가 실패했습니다" 오류
사용자가 도메인 자격 증명으로 워크스테이션이나 멤버 서버에 로그온하려고 할 때, 암호 입력 후 다음과 같은 오류 메시지가 표시되며 로그인에 실패하는 것이 이 문제의 전형적인 증상입니다.
The trust relationship between this workstation and the primary domain failed.
(이 워크스테이션과 기본 도메인 간의 신뢰 관계가 실패했습니다.)
경우에 따라 아래와 같은 메시지가 나타나기도 합니다.
The security database on the server does not have a computer account for this workstation trust relationship.
(서버의 보안 데이터베이스에 이 워크스테이션 신뢰 관계에 해당하는 컴퓨터 계정이 없습니다.)
AD 도메인의 머신(컴퓨터) 계정 암호 이해하기
컴퓨터가 Active Directory 도메인에 가입되면 해당 컴퓨터를 위한 별도의 컴퓨터 계정이 생성됩니다. 사용자 계정과 마찬가지로 각 컴퓨터는 고유한 암호를 가지고 있으며, 이 암호로 도메인 내에서 자신을 인증하고 도메인 컨트롤러(DC)와 신뢰할 수 있는 연결을 설정합니다. 다만 사용자 암호와 달리, 컴퓨터 암호는 자동으로 설정되고 변경된다는 점이 특징입니다.
AD의 컴퓨터 계정 암호에 대해 반드시 알아야 할 사항은 다음과 같습니다.
- 컴퓨터 암호는 주기적으로 변경됩니다. 기본적으로 30일마다 변경됩니다. 팁: 최대 암호 사용 기간은 컴퓨터 구성 → Windows 설정 → 보안 설정 → 로컬 정책 → 보안 옵션 아래의 'Domain member: Maximum machine account password age' 정책으로 조정할 수 있습니다. 설정 범위는 0~999일이며 기본값은 30일입니다.
- 컴퓨터 암호는 만료되지 않습니다. 암호 변경은 도메인 컨트롤러가 아니라 컴퓨터 측에서 시작하며, 도메인 암호 정책의 적용을 받지 않습니다. 따라서 컴퓨터가 30일 이상 꺼져 있었더라도 전원을 켜면 기존 암호로 DC에서 정상 인증됩니다. 이후 로컬 Netlogon 서비스가 로컬 데이터베이스의 컴퓨터 암호(레지스트리
HKLM\SECURITY\Policy\Secrets\$machine.ACC에 저장됨)를 변경하고, 변경된 암호를 Active Directory에 업데이트합니다. - 암호 변경은 가장 가까운 DC에서 수행됩니다. 변경 사항은 PDC 에뮬레이터 FSMO 역할을 담당하는 도메인 컨트롤러로 즉시 전송되지 않습니다. 즉, 한 DC에서 암호를 변경한 컴퓨터는 AD 변경 사항이 복제되기 전까지 다른 DC에서 인증할 수 없습니다.
컴퓨터가 도메인 컨트롤러로 전송한 암호 해시가 AD 데이터베이스에 저장된 컴퓨터 계정 암호와 일치하지 않으면, 컴퓨터는 DC와 보안 연결을 맺을 수 없으며 신뢰 관계 오류를 반환하게 됩니다.
문제가 발생하는 주요 원인
- 오래된 복원 지점 또는 스냅샷 복구: 컴퓨터가 AD에서 암호가 변경되기 이전 시점의 복원 지점이나 가상 머신 스냅샷에서 복구된 경우입니다. 이전 상태로 롤백된 컴퓨터는 예전 암호로 DC 인증을 시도하며, 이것이 가장 흔한 원인입니다.
- 중복 계정 생성 또는 계정 재설정: AD에 같은 이름의 컴퓨터 계정이 새로 생성되었거나, 누군가 ADUC 콘솔(
dsa.msc)에서 컴퓨터 계정을 재설정한 경우입니다. - 관리자에 의한 계정 비활성화: 비활성 AD 개체 정리 절차 등에서 관리자가 도메인 내 컴퓨터 계정을 비활성화한 경우입니다.
- 시스템 시간 오류: 드문 경우지만, 컴퓨터의 시스템 시간이 잘못 설정되어 있는 경우에도 문제가 발생할 수 있습니다.
전통적인 복구 방법과 그 한계
컴퓨터와 도메인 간의 신뢰 관계를 복구하는 고전적인 방법은 다음과 같습니다.
- AD에서 컴퓨터 계정을 재설정
- 로컬 관리자 권한으로 컴퓨터를 도메인에서 작업 그룹으로 이동
- 재부팅
- 컴퓨터를 도메인에 다시 가입
- 컴퓨터 재시작
방법 자체는 단순해 보이지만 매우 번거롭습니다. 최소 두 번의 재부팅이 필요하고 10~30분이 소요되며, 기존 로컬 사용자 프로필 사용 시 문제가 발생할 수도 있습니다.
다행히 PowerShell을 활용하면 도메인 재가입이나 재부팅 없이 더욱 스마트하게 신뢰 관계를 복구할 수 있습니다.
PowerShell로 컴퓨터-도메인 신뢰 관계 확인 및 복구하기
도메인 계정으로 인증할 수 없고 '이 워크스테이션과 기본 도메인 간의 신뢰 관계가 실패했습니다' 오류가 나타난다면, 먼저 로컬 관리자 계정으로 로그온해야 합니다. 네트워크 케이블을 분리한 후 최근에 로그온한 적이 있는 도메인 계정의 캐시된 자격 증명(Cached Credentials)으로 로그인하는 방법도 가능합니다.
관리자 권한으로 승격된 PowerShell 콘솔을 열고, Test-ComputerSecureChannel cmdlet을 사용하여 로컬 컴퓨터 암호가 AD에 저장된 암호와 일치하는지 확인합니다.
Test-ComputerSecureChannel –verbose
암호가 일치하지 않아 컴퓨터가 도메인과 신뢰 관계를 맺을 수 없다면 명령은 False를 반환하며, The Secure channel between the local computer and the domain woshub.com is broken이라는 메시지가 출력됩니다.
AD에서 컴퓨터 계정 암호를 강제로 재설정하려면 다음 명령을 실행합니다.
Test-ComputerSecureChannel –Repair –Credential (Get-Credential)
암호를 재설정하려면 컴퓨터 계정 암호 재설정 권한이 있는 사용자 계정의 자격 증명을 입력해야 합니다. 해당 사용자는 Active Directory에서 컴퓨터를 관리할 수 있도록 위임받은 권한이 있어야 하며(Domain Admins 그룹 구성원도 사용 가능), 실행 후 다시 Test-ComputerSecureChannel을 실행하여 True(The Secure channel between the local computer and the domain woshub.com is in good condition)가 반환되는지 확인합니다.
이렇게 하면 재부팅이나 수동 도메인 재가입 없이 컴퓨터 암호가 재설정됩니다. 이제 도메인 계정으로 정상적으로 로그온할 수 있습니다.
암호 강제 재설정에는 Reset-ComputerMachinePassword cmdlet을 사용할 수도 있습니다.
Reset-ComputerMachinePassword -Server mun-dc01.woshub.com -Credential woshub\adm_user1
mun-dc01.woshub.com은 컴퓨터 암호를 변경할 가장 가까운 도메인 컨트롤러의 이름입니다.
추가 팁 및 유용한 명령어
- 스냅샷 생성 전 암호 재설정: 가상 머신 스냅샷이나 복원 지점을 생성하기 전에 컴퓨터 암호를 미리 재설정해 두면, 나중에 이전 상태로 롤백할 때 훨씬 수월합니다.
- 개발/테스트 환경의 GPO 설정: 스냅샷에서 VM 상태를 자주 복구해야 하는 개발·테스트 환경이라면 GPO로 해당 컴퓨터들의 도메인 암호 변경을 비활성화하는 것이 좋습니다. 컴퓨터 구성 → 정책 → Windows 설정 → 보안 설정 → 로컬 정책 → 보안 옵션 아래의 'Domain member: Disable machine account password changes' 정책을 설정하고, 테스트 컴퓨터가 있는 OU에 정책을 적용하거나 GPO WMI 필터를 활용하세요.
- 마지막 암호 변경 날짜 확인: Active Directory 모듈의 Get-ADComputer cmdlet으로 AD에서 컴퓨터 암호가 마지막으로 변경된 날짜를 확인할 수 있습니다.
Get-ADComputer –Identity mun-wks5431 -Properties PasswordLastSet - nltest로 보안 채널 검증: 다음 명령으로 컴퓨터와 DC 간의 보안 채널 존재 여부를 확인할 수 있습니다.
nltest /sc_verify:woshub.com아래 결과가 출력되면 신뢰 관계가 성공적으로 복구된 것입니다.
Trusted DC Connection Status = 0 0x0 NERR_Success
Trust Verification Status = 0 0x0 NERR_Success
참고: Test-ComputerSecureChannel과 Reset-ComputerMachinePassword cmdlet은 PowerShell 3.0부터 제공됩니다. Windows 7/Windows Server 2008 R2 환경에서는 PowerShell 버전 업그레이드가 필요합니다.
Netdom으로 도메인 신뢰 관계 복구하기
Windows 7/2008 R2 및 그 이전 버전처럼 PowerShell 3.0을 사용할 수 없는 환경에서는 Test-ComputerSecureChannel, Reset-ComputerMachinePassword cmdlet 대신 netdom.exe 도구로 도메인 컨트롤러와의 보안 채널을 복구할 수 있습니다.
Netdom은 Windows Server 2008 이상에 기본 포함되어 있으며, RSAT(원격 서버 관리 도구)를 통해 사용자 PC에 설치할 수도 있습니다. 신뢰 관계를 복구하려면 로컬 관리자 자격 증명으로 로그온한 후(로그온 화면에서 .\Administrator 입력) 다음 명령을 실행합니다.
Netdom resetpwd /Server:DomainController /UserD:Administrator /PasswordD:Password
명령이 성공하면 The machine account password for the local machine has successfully reset.라는 메시지가 표시됩니다.
- Server: 사용 가능한 임의의 도메인 컨트롤러 이름
- UserD: 도메인 관리자 권한이 있거나, 해당 컴퓨터 계정이 속한 OU에 대한 위임 권한이 있는 사용자 이름
- PasswordD: 사용자 암호
실제 사용 예시는 다음과 같습니다.
Netdom resetpwd /Server:mun-dc01 /UserD:jsmith /PasswordD:Pra$$w0rd
명령 실행 후 컴퓨터를 재부팅할 필요는 없습니다. 로그오프한 뒤 도메인 계정으로 다시 로그온하면 됩니다.
지금까지 살펴본 것처럼, PowerShell이나 Netdom을 활용하면 재부팅 없이도 컴퓨터와 도메인 간의 깨진 신뢰 관계를 몇 분 안에 간단히 복구할 수 있습니다. 장애 발생 시 당황하지 말고 위 방법들을 활용해 신속하게 해결하시기 바랍니다.