Share via


RDP를 사용하여 Azure VM에 연결할 때 인증 오류 문제 해결

이 문서는 RDP(원격 데스크톱 프로토콜) 연결을 사용하여 Azure VM(가상 머신)에 연결할 때 발생하는 인증 오류를 해결하는 데 도움이 될 수 있습니다.

참고

이 문서가 도움이 되었나요? 귀하의 입력은 우리에게 중요합니다. 이 페이지의 피드백 단추를 사용하여 이 문서가 얼마나 잘 작동했는지 또는 어떻게 개선할 수 있는지 알려주세요.

증상

시작 화면을 표시하고 운영 체제가 실행 중임을 나타내는 Azure VM의 스크린샷을 캡처합니다. 그러나 원격 데스크톱 연결을 사용하여 VM에 연결하려고 하면 다음 오류 메시지 중 하나가 표시됩니다.

  • 인증 오류가 발생했습니다. 로컬 보안 기관에 연결할 수 없습니다.
  • NLA(네트워크 수준 인증)를 요구하기 위해 연결하려는 원격 컴퓨터이지만 NLA를 수행하기 위해 Windows 도메인 컨트롤러에 연결할 수 없습니다. 원격 컴퓨터의 관리자인 경우 시스템 속성 대화 상자의 원격 탭에 있는 옵션을 사용하여 NLA를 사용하지 않도록 설정할 수 있습니다.
  • 이 컴퓨터는 원격 컴퓨터에 연결할 수 없습니다. 문제가 계속되면 원격 컴퓨터의 소유자 또는 네트워크 관리자에게 문의하여 다시 연결해 보세요.

원인

NLA가 VM에 대한 RDP 액세스를 차단할 수 있는 여러 가지 이유가 있습니다.

  • VM은 DC(도메인 컨트롤러)와 통신할 수 없습니다. 이 문제로 인해 도메인 자격 증명을 사용하여 RDP 세션이 VM에 액세스하지 못할 수 있습니다. 그러나 로컬 관리자 자격 증명을 사용하여 로그온할 수 있습니다. 이 문제는 다음과 같은 상황에서 발생할 수 있습니다.
    • 이 VM과 DC 간의 Active Directory 보안 채널이 끊어졌습니다.
    • VM에는 계정 암호의 이전 복사본이 있으며 DC에는 최신 복사본이 있습니다.
    • 이 VM이 연결하는 DC가 비정상입니다.
  • VM의 암호화 수준은 클라이언트 컴퓨터에서 사용하는 암호화 수준보다 높습니다.
  • TLS 1.0, 1.1 또는 1.2(서버) 프로토콜은 VM에서 사용하지 않도록 설정됩니다. 도메인 자격 증명을 사용하여 로그온을 사용하지 않도록 VM이 설정되었으며 LSA(로컬 보안 기관)가 잘못 설정되었습니다.
  • VM은 FIPS(Federal Information Processing Standard) 규격 알고리즘 연결만 허용하도록 설정되었습니다. 이 작업은 일반적으로 Active Directory 정책을 사용하여 수행됩니다. 드문 구성이지만 원격 데스크톱 연결에만 FIPS를 적용할 수 있습니다.

문제 해결 전

백업 스냅샷 만들기

백업 스냅샷 만들려면 디스크 스냅샷의 단계를 수행합니다.

원격으로 VM에 연결

VM에 원격으로 연결하려면 원격 도구를 사용하여 Azure VM 문제를 해결하는 방법의 방법 중 하나를 사용합니다.

그룹 정책 클라이언트 서비스

도메인에 가입된 VM인 경우 먼저 그룹 정책 클라이언트 서비스를 중지하여 Active Directory 정책에서 변경 내용을 덮어쓰지 않도록 합니다. 이렇게 하려면 다음 명령을 실행합니다.

REM Disable the member server to retrieve the latest GPO from the domain upon start
REG add "HKLM\SYSTEM\CurrentControlSet\Services\gpsvc" /v Start /t REG_DWORD /d 4 /f

문제가 해결된 후 도메인에 연결하여 도메인에서 최신 GPO를 검색하는 이 VM의 기능을 복원합니다. 이렇게 하려면 다음 명령을 실행합니다.

sc config gpsvc start= auto
sc start gpsvc

gpupdate /force

변경 내용이 되돌아가면 Active Directory 정책으로 인해 문제가 발생합니다.

해결 방법

VM에 연결하고 원인을 resolve 해결 방법으로 NLA를 일시적으로 사용하지 않도록 설정할 수 있습니다. NLA를 사용하지 않도록 설정하려면 아래 명령을 사용하거나 명령 실행에서 스크립트를 DisableNLA 사용합니다.

REM Disable the Network Level Authentication
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0

그런 다음, VM을 다시 시작하고 문제 해결 섹션으로 진행합니다.

문제가 해결되면 다음 명령을 실행한 다음 VM을 다시 시작하여 NLA를 다시 사용하도록 설정합니다.

REG add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds /t REG_DWORD /d 0 /f
REG add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 1 /f

문제 해결

  1. 도메인에 가입된 VM 문제를 해결합니다.
  2. 독립 실행형 VM 문제를 해결합니다.

도메인에 가입된 VM 문제 해결

이 문제를 해결하려면 다음을 수행합니다.

  1. VM이 DC에 연결할 수 있는지 확인합니다.
  2. DC의 상태를 확인합니다.

참고

DC 상태를 테스트하려면 동일한 VNET, 서브넷에 있고 동일한 로그온 서버를 사용하는 다른 VM을 사용할 수 있습니다.

VM에 원격으로 연결 섹션의 단계에 따라 직렬 콘솔, 원격 CMD 또는 원격 PowerShell을 사용하여 문제가 있는 VM에 연결 합니다.

  1. VM이 연결을 시도하는 DC를 확인합니다. 콘솔에서 다음 명령을 실행합니다.

    set | find /i "LOGONSERVER"
    
  2. VM과 DC 간의 보안 채널 상태를 테스트합니다. 이렇게 하려면 관리자 권한 Test-ComputerSecureChannel PowerShell instance 명령을 실행합니다. 이 명령은 보안 채널이 활성 상태인지 여부를 나타내는 True 또는 False를 반환합니다.

    Test-ComputerSecureChannel -verbose
    

    채널이 손상된 경우 다음 명령을 실행하여 복구합니다.

    Test-ComputerSecureChannel -repair
    
  3. Active Directory의 컴퓨터 계정 암호가 VM 및 DC에서 업데이트되었는지 확인합니다.

    Reset-ComputerMachinePassword -Server "<COMPUTERNAME>" -Credential <DOMAIN CREDENTIAL WITH DOMAIN ADMIN LEVEL>
    

DC와 VM 간의 통신이 좋지만 DC가 RDP 세션을 열 만큼 정상적이지 않은 경우 DC를 다시 시작할 수 있습니다.

위의 명령이 도메인에 대한 통신 문제를 해결하지 못한 경우 이 VM을 도메인에 다시 가입할 수 있습니다. 이렇게 하려면 다음과 같이 하십시오.

  1. 다음 콘텐츠를 사용하여 Unjoin.ps1 라는 스크립트를 만든 다음, Azure Portal 사용자 지정 스크립트 확장으로 스크립트를 배포합니다.

    cmd /c "netdom remove <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10 /Force"
    

    이 스크립트는 도메인에서 VM을 강제로 제거하고 10초 후에 VM을 다시 시작합니다. 그런 다음 도메인 쪽에서 Computer 개체를 클린 합니다.

  2. 정리가 완료되면 이 VM을 도메인에 다시 연결합니다. 이렇게 하려면 다음 콘텐츠를 사용하여 JoinDomain.ps1 라는 스크립트를 만든 다음 Azure Portal 사용자 지정 스크립트 확장으로 스크립트를 배포합니다.

    cmd /c "netdom join <<MachineName>> /domain:<<DomainName>> /userD:<<DomainAdminhere>> /passwordD:<<PasswordHere>> /reboot:10"
    

참고

지정된 자격 증명을 사용하여 도메인의 VM을 조인합니다.

Active Directory 채널이 정상 상태이면 컴퓨터 암호가 업데이트되고 도메인 컨트롤러가 예상대로 작동하는 경우 다음 단계를 시도합니다.

문제가 지속되면 도메인 자격 증명을 사용하지 않도록 설정할지 여부를 검사. 이렇게 하려면 관리자 권한 명령 프롬프트 창을 연 다음 다음 명령을 실행하여 VM에 로그온하기 위해 도메인 계정을 사용하지 않도록 설정되었는지 여부를 확인합니다.

REG query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v disabledomaincreds

키가 1로 설정된 경우 이는 서버가 도메인 자격 증명을 허용하지 않도록 설정되었음을 의미합니다. 이 키를 0으로 변경합니다.

독립 실행형 VM 문제 해결

MinEncryptionLevel 확인

CMD instance 다음 명령을 실행하여 MinEncryptionLevel 레지스트리 값을 쿼리합니다.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel

레지스트리 값에 따라 다음 단계를 수행합니다.

  • 4(FIPS): FIP 규격 알고리즘 연결을 확인합니다.

  • 3(128비트 암호화): 다음 명령을 실행하여 심각도를 2로 설정합니다.

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2 /f
    
  • 2(클라이언트가 지시한 대로 가능한 가장 높은 암호화): 다음 명령을 실행하여 암호화를 최소 값 1 로 설정할 수 있습니다.

    reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 1 /f
    

레지스트리 변경 내용이 적용되도록 VM을 다시 시작합니다.

TLS 버전

시스템에 따라 RDP는 TLS 1.0, 1.1 또는 1.2(서버) 프로토콜을 사용합니다. VM에서 이러한 프로토콜을 설정하는 방법을 쿼리하려면 CMD instance 연 다음 다음 명령을 실행합니다.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled

반환된 값이 모두 1이 아니면 프로토콜이 비활성화됨을 의미합니다. 이러한 프로토콜을 사용하도록 설정하려면 다음 명령을 실행합니다.

reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server" /v Enabled /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" /v Enabled /t REG_DWORD /d 1 /f

다른 프로토콜 버전의 경우 다음 명령을 실행할 수 있습니다.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS x.x\Server" /v Enabled
reg query "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS x.x\Server" /v Enabled

참고

SCHANNEL 오류의 게스트 OS 로그에서 SSH/TLS 버전 x.x를 가져옵니다.

FIP 규격 알고리즘 연결 확인

원격 데스크톱은 FIP 규격 알고리즘 연결만 사용하도록 적용할 수 있습니다. 레지스트리 키를 사용하여 설정할 수 있습니다. 이렇게 하려면 관리자 권한 명령 프롬프트 창을 열고 다음 키를 쿼리합니다.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled

명령이 1을 반환하는 경우 레지스트리 값을 0으로 변경합니다.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy" /v Enabled /t REG_DWORD /d 0

VM에서 현재 MinEncryptionLevel 이 무엇인지 확인합니다.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel

명령이 4를 반환하는 경우 레지스트리 값을 2로 변경합니다.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v MinEncryptionLevel /t REG_DWORD /d 2

레지스트리 변경 내용이 적용되도록 VM을 다시 시작합니다.

다음 단계

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.