다음을 통해 공유


Azure의 Windows VM에 대한 원격 데스크톱 연결 문제의 자세한 문제 해결 단계

적용 대상: ✔️ Windows VM

이 문서에서는 Windows 기반 Azure 가상 머신에 대한 복잡한 원격 데스크톱 오류를 진단하고 해결하기 위한 자세한 문제 해결 단계를 제공합니다.

Important

일반적인 원격 데스크톱 오류를 제거하려면 계속하기 전에 원격 데스크톱에 대한 기본 문제 해결 문서를 읽어야 합니다.

기본 원격 데스크톱 문제 해결 가이드에서 다루는 특정 오류 메시지와 유사하지 않은 원격 데스크톱 오류 메시지가 발생할 수 있습니다. 다음 단계에 따라 RDP(원격 데스크톱) 클라이언트가 Azure VM의 RDP 서비스에 연결할 수 없는 이유를 확인합니다.

원격 데스크톱 연결을 위한 구성 요소

RDP 연결에는 다음 구성 요소가 포함됩니다.

다이어그램은 RDP(원격 데스크톱) 연결과 관련된 구성 요소를 보여 줍니다.

계속하기 전에 VM에 마지막으로 성공한 원격 데스크톱 연결 이후 변경된 내용을 정신적으로 검토하는 데 도움이 될 수 있습니다. 예시:

  • VM 또는 VM을 포함하는 클라우드 서비스의 공용 IP 주소(가상 IP 주소 VIP라고도 함)가 변경되었습니다. DNS 클라이언트 캐시에 DNS 이름에 대해 등록된 이전 IP 주소 가 있으므로 RDP 오류가 발생할 수 있습니다. DNS 클라이언트 캐시를 플러시하고 VM 연결을 다시 시도하세요. 또는 새 VIP와 직접 연결을 시도하세요.
  • Azure Portal에서 생성된 연결을 사용하는 대신 타사 애플리케이션을 사용하여 원격 데스크톱 연결을 관리합니다. 애플리케이션 구성에 원격 데스크톱 트래픽에 대한 올바른 TCP 포트가 포함되어 있는지 확인합니다. VM의 설정 > 엔드포인트를 클릭하여 Azure Portal에서 클래식 가상 머신에 대한 이 포트를 확인할 수 있습니다.

예비 단계

자세한 문제 해결을 진행하기 전에

  • Azure Portal에서 확실한 문제가 있는지 가상 머신의 상태를 확인합니다.
  • 기본 문제 해결 가이드일반적인 RDP 오류에 대한 빠른 수정 단계를 따릅니다.
  • 사용자 지정 이미지의 경우 업로드하기 전에 VHD가 제대로 준비되었는지 확인합니다. 자세한 내용은 Azure에 업로드할 Windows VHD 또는 VHDX 준비를 참조하세요.

다음 단계를 수행한 후 원격 데스크톱을 통해 VM에 다시 연결해 보세요.

자세한 문제 해결

다음 원본의 문제로 인해 원격 데스크톱 클라이언트가 Azure VM의 원격 데스크톱 서비스에 도달하지 못할 수 있습니다.

원본 1: 원격 데스크톱 클라이언트 컴퓨터

컴퓨터가 다른 온-프레미스 Windows 기반 컴퓨터에 원격 데스크톱을 연결할 수 있는지 확인합니다.

RDP 클라이언트가 강조 표시된 RDP 연결의 구성 요소와 연결을 나타내는 다른 온-프레미스 컴퓨터를 가리키는 화살표의 다이어그램

연결할 수 없는 경우 컴퓨터에서 다음 설정을 확인합니다.

  • 원격 데스크톱 트래픽을 차단하는 로컬 방화벽 설정입니다.
  • 원격 데스크톱 연결을 방지하는 로컬로 설치된 클라이언트 프록시 소프트웨어입니다.
  • 원격 데스크톱 연결을 방지하는 로컬에 설치된 네트워크 모니터링 소프트웨어
  • 트래픽을 모니터링하거나 원격 데스크톱 연결을 방해하는 특정 유형의 트래픽을 허용/허용하지 않는 다른 유형의 보안 소프트웨어입니다.

이러한 모든 경우에 일시적으로 소프트웨어를 사용하지 않도록 설정하고 원격 데스크톱을 통해 온-프레미스 컴퓨터에 연결을 시도합니다. 이러한 방식으로 실제 원인을 확인할 수 있는 경우 네트워크 관리자와 협력하여 원격 데스크톱 연결을 허용하도록 소프트웨어 설정을 수정합니다.

원본 2: 조직 인트라넷 에지 디바이스

인터넷에 직접 연결된 컴퓨터가 Azure 가상 머신에 원격 데스크톱을 연결할 수 있는지 확인합니다.

인터넷에 연결된 RDP 클라이언트가 강조 표시된 RDP 연결의 구성 요소와 연결을 나타내는 Azure V M을 가리키는 화살표의 다이어그램.

인터넷에 직접 연결된 컴퓨터가 없는 경우 리소스 그룹 또는 클라우드 서비스에서 새 Azure 가상 머신으로 만들고 테스트합니다. 자세한 내용은 Azure에서 Windows를 실행하는 가상 머신 만들기를 참조하세요. 테스트 후 가상 머신과 리소스 그룹 또는 클라우드 서비스를 삭제할 수 있습니다.

인터넷에 직접 연결된 컴퓨터로 원격 데스크톱 연결을 만들 수 있는 경우 조직 인트라넷 에지 디바이스에서 다음을 확인합니다.

  • 인터넷에 대한 HTTPS 연결을 차단하는 내부 방화벽입니다.
  • 원격 데스크톱 연결을 방지하는 프록시 서버입니다.
  • 경계 네트워크의 디바이스에서 실행되는, 원격 데스크톱 연결을 방지하는 침입 탐지 또는 네트워크 모니터링 소프트웨어

네트워크 관리자와 협력하여 인터넷에 대한 HTTPS 기반 원격 데스크톱 연결을 허용하도록 조직 인트라넷 에지 디바이스의 설정을 수정합니다.

원본 3: 네트워크 보안 그룹

네트워크 보안 그룹을 사용하면 허용된 인바운드 및 아웃바운드 트래픽을 보다 세부적으로 제어할 수 있습니다. Azure 가상 네트워크에서 서브넷 및 클라우드 서비스를 아우르는 규칙을 만들 수 있습니다.

IP 흐름 확인을 사용하여 네트워크 보안 그룹의 규칙이 가상 머신을 오가는 트래픽을 차단하는지 확인합니다. 효과적인 보안 그룹 규칙을 검토하여 인바운드 "허용" NSG 규칙이 있는지와 해당 규칙이 RDP 포트(기본값: 3389)에 우선적으로 사용되도록 설정되어 있는지 확인합니다. 자세한 내용은 효과적인 보안 규칙을 사용하여 VM 트래픽 흐름 문제를 해결하세요.

원본 4: Windows 기반 Azure VM

클라우드 서비스 내에서 강조 표시된 Azure V M과 RDP 연결의 구성 요소 다이어그램 및 문제의 원인일 수 있다는 메시지.

이 문서의 지침을 따릅니다. 이 문서에서는 가상 머신에서 원격 데스크톱 서비스를 다시 설정합니다.

  • "원격 데스크톱" Windows 방화벽 기본 규칙(TCP 포트 3389)이 활성화됩니다.
  • HKLM\System\CurrentControlSet\Control\Terminal Server\fDenyTSConnections 레지스트리 값을 0으로 설정하여 원격 데스크톱 연결을 사용하도록 설정합니다.

컴퓨터에서 연결을 다시 시도합니다. 원격 데스크톱을 통해 연결할 수 없는 경우 다음과 같은 가능한 문제를 확인합니다.

  • 원격 데스크톱 서비스가 대상 VM에서 실행되고 있지 않습니다.
  • 원격 데스크톱 서비스가 TCP 포트 3389에서 수신 대기하지 않습니다.
  • Windows 방화벽 또는 다른 로컬 방화벽에는 원격 데스크톱 트래픽을 방지하는 아웃바운드 규칙이 있습니다.
  • Azure 가상 머신에서 실행되는 침입 검색 또는 네트워크 모니터링 소프트웨어는 원격 데스크톱 연결을 방지합니다.

클래식 배포 모델을 사용하여 만든 VM의 경우 Azure 가상 머신에 대한 원격 Azure PowerShell 세션을 사용할 수 있습니다. 먼저 가상 머신의 호스팅 클라우드 서비스에 대한 인증서를 설치해야 합니다. Azure Virtual Machines대한 보안 원격 PowerShell 액세스 구성으로 이동하여 InstallWinRMCertAzureVM.ps1 스크립트 파일을 로컬 컴퓨터에 다운로드합니다.

다음으로, 아직 설치하지 않은 경우 Azure PowerShell을 설치합니다. Azure PowerShell 설치 및 구성 방법을 참조하세요.

다음으로, Azure PowerShell 명령 프롬프트를 열고 현재 폴더를 InstallWinRMCertAzureVM.ps1 스크립트 파일의 위치로 변경합니다. Azure PowerShell 스크립트를 실행하려면 올바른 실행 정책을 설정해야 합니다. Get-ExecutionPolicy 명령을 실행하여 현재 정책 수준을 확인합니다. 적절한 수준을 설정하는 방법에 대한 자세한 내용은 Set-ExecutionPolicy를 참조 하세요.

다음으로, Azure 구독 이름, 클라우드 서비스 이름 및 가상 머신 이름(및 문자 제거)을 < 입력한 > 다음, 다음 명령을 실행합니다.

$subscr="<Name of your Azure subscription>"
$serviceName="<Name of the cloud service that contains the target virtual machine>"
$vmName="<Name of the target virtual machine>"
.\InstallWinRMCertAzureVM.ps1 -SubscriptionName $subscr -ServiceName $serviceName -Name $vmName

Get-AzureSubscription 명령 표시의 SubscriptionName 속성에서 올바른 구독 이름을 가져올 수 있습니다. Get-AzureVM 명령 표시의 ServiceName 열에서 가상 머신의 클라우드 서비스 이름을 가져올 수 있습니다.

새 인증서가 있는지 확인합니다. 현재 사용자에 대한 인증서 스냅인을 열고 Trusted Root Certification Authorities\Certificates 폴더를 살펴봅니다. 발급 대상 열에 클라우드 서비스의 DNS 이름이 있는 인증서가 표시됩니다(예: cloudservice4testing.cloudapp.net).

다음으로, 이러한 명령을 사용하여 원격 Azure PowerShell 세션을 시작합니다.

$uri = Get-AzureWinRMUri -ServiceName $serviceName -Name $vmName
$creds = Get-Credential
Enter-PSSession -ConnectionUri $uri -Credential $creds

유효한 관리자 자격 증명을 입력한 후 다음 Azure PowerShell 프롬프트와 비슷한 내용이 표시됩니다.

[cloudservice4testing.cloudapp.net]: PS C:\Users\User1\Documents>

이 프롬프트의 첫 번째 부분은 대상 VM을 포함하는 클라우드 서비스 이름으로, "cloudservice4testing.cloudapp.net"과 다를 수 있습니다. 이제 이 클라우드 서비스에 대한 Azure PowerShell 명령을 실행하여 언급된 문제를 조사하고 구성을 수정할 수 있습니다.

TCP 포트를 수신 대기하는 원격 데스크톱 서비스를 수동으로 수정하려면

원격 Azure PowerShell 세션 프롬프트에서 이 명령을 실행합니다.

Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber"

PortNumber 속성은 현재 포트 번호를 표시합니다. 필요한 경우 이 명령을 사용하여 원격 데스크톱 포트 번호를 기본값(3389)으로 다시 변경합니다.

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber" -Value 3389

이 명령을 사용하여 포트가 3389로 변경되었는지 확인합니다.

Get-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber"

이 명령을 사용하여 원격 Azure PowerShell 세션을 종료합니다.

Exit-PSSession

Azure VM에 대한 원격 데스크톱 엔드포인트도 TCP 포트 3398을 내부 포트로 사용하고 있는지 확인합니다. Azure VM을 다시 시작하고 원격 데스크톱 연결을 다시 시도합니다.

추가 리소스

Windows 가상 머신에 대한 암호 또는 원격 데스크톱 서비스를 다시 설정하는 방법

Azure PowerShell 설치 및 구성하는 방법

Linux 기반 Azure 가상 머신에 대한 SSH(Secure Shell) 연결 문제 해결

Azure 가상 머신에서 실행되는 애플리케이션에 대한 액세스 문제 해결

도움을 요청하십시오.

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