Подробные инструкции по устранению неполадок с подключением к удалённому рабочему столу виртуальных машин Windows в Azure

Применимо к виртуальным машинам ✔️ Windows

Сводка

В этой статье приведены подробные инструкции по устранению неполадок для диагностики и устранения сложных ошибок Remote Desktop на основе Windows виртуальных машин на основе Azure.

Внимание

Чтобы устранить более распространенные ошибки Remote Desktop, ознакомьтесь с основной статьей по устранению неполадок Remote Desktop перед продолжением работы.

Вы можете столкнуться с сообщением об ошибке Remote Desktop, которое не напоминает ни одно из определенных сообщений об ошибках, описанных в базовом руководстве по устранению неполадок Remote Desktop. Выполните следующие действия, чтобы определить, почему клиент Remote Desktop (RDP) не может подключиться к службе RDP на виртуальной машине Azure.

Компоненты подключения Remote Desktop

В подключении к удаленному рабочему столу участвуют следующие компоненты:

Diagram показывает компоненты, участвующие в подключении Remote Desktop (RDP).

Прежде чем продолжить, это может помочь психически проверить, что изменилось с момента последнего успешного Remote Desktop подключения к виртуальной машине. Например:

  • Общедоступный IP-адрес виртуальной машины или облачной службы, содержащей виртуальную машину (также называемый виртуальный IP-адрес (VIP)), изменился. Сбой подключения к удаленному рабочему столу может быть связан с тем, что в кэше DNS-клиента сохранился старый IP-адрес. Очистите кэш DNS-клиента и попробуйте подключиться к виртуальной машине еще раз. Либо попробуйте подключиться напрямую к новому виртуальному IP-адресу.
  • Вы используете стороннее приложение для управления подключениями Remote Desktop вместо использования подключения, созданного порталом Azure. Убедитесь, что конфигурация приложения включает правильный TCP-порт для Remote Desktop трафика. Этот порт можно проверить на классической виртуальной машине в портале Azure, выбрав Параметры виртуальной машины и затем Конечные точки.

Предварительные шаги

Прежде чем перейти к подробной диагностике, выполните следующие действия:

Попробуйте повторно подключиться к виртуальной машине через Remote Desktop после выполнения этих действий.

Подробное описание устранения неполадок

Клиент Remote Desktop может не получить доступ к службе Remote Desktop на виртуальной машине Azure из-за проблем со следующими источниками:

Источник 1: клиентский компьютер для удалённого рабочего стола

Убедитесь, что ваш компьютер может выполнять подключения к Удаленному рабочему столу на другой локальный компьютер, работающий под управлением Windows.

Схема компонентов в подключении RDP с выделенным клиентом RDP и стрелкой, указывающей на другой локальный компьютер, указывающий на подключение.

Если это не так, проверьте следующие настройки на компьютере.

  • Локальный параметр брандмауэра, блокирующий Remote Desktop трафик.
  • Локально установленное программное обеспечение прокси-сервера клиента, которое предотвращает Remote Desktop подключения.
  • Локально установленное программное обеспечение мониторинга сети, которое предотвращает Remote Desktop подключения.
  • Другие типы программного обеспечения безопасности, которые отслеживают трафик или разрешают или запрещают определенные типы трафика, предотвращающие Remote Desktop подключения.

Во всех этих случаях временно отключите программное обеспечение и попытайтесь подключиться к локальному компьютеру через Remote Desktop. Если вы можете узнать фактическую причину таким образом, обратитесь к администратору сети, чтобы исправить параметры программного обеспечения, чтобы разрешить Remote Desktop подключения.

Источник 2: пограничное устройство интрасети организации

Убедитесь, что компьютер, напрямую подключенный к Интернету, может устанавливать удалённые подключения к рабочему столу на вашу виртуальную машину Azure.

Диаграмма компонентов подключения RDP с RDP-клиентом, который подключен к Интернету, и стрелкой, указывающей на Azure VM, показывающей соединение.

Если у вас нет компьютера, который напрямую подключен к Интернету, создайте и протестируйте новую Azure виртуальную машину в группе ресурсов или облачной службе. Дополнительные сведения см. в разделе Создание виртуальной машины с Windows в Azure. По завершении проверки удалите виртуальную машину и группу ресурсов или облачную службу.

Если вы можете создать подключение к Удаленному рабочему столу с компьютером, подключенным непосредственно к Интернету, проверьте крайнее устройство вашей корпоративной интрасети на наличие следующих параметров.

  • интернет-брандмауэра, который блокирует подключения к Интернету по протоколу HTTPS;
  • Прокси-сервер, предотвращающий Remote Desktop подключения.
  • Обнаружение вторжений или программное обеспечение мониторинга сети, работающее на устройствах в пограничной сети, которое предотвращает подключения Remote Desktop.

Обратитесь к администратору сети, чтобы исправить параметры пограничного устройства интрасети организации, чтобы разрешить Remote Desktop подключения по протоколу HTTPS к Интернету.

Источник 3. Группы безопасности сети

Группы безопасности сети позволяют точнее настраивать параметры разрешенного входящего и исходящего трафика. Вы можете создавать правила, охватывающие подсети и облачные службы, в Azure виртуальной сети.

Используйте IP flow verify, чтобы определить, блокирует ли правило в группе безопасности сети трафик к виртуальной машине или от неё. Вы можете также просмотреть действующие правила группы безопасности и убедиться, что для порта RDP (3389 по умолчанию) существует и является приоритетным правило NSG, разрешающее входящий трафик. Дополнительные сведения см. в разделе Использование действующих правил безопасности для устранения проблем с потоком трафика в виртуальной машине.

Источник 4: виртуальная машина на основе Azure на основе Windows

Диаграмма компонентов подключения RDP с выделенной Azure VM в облачной службе и сообщением о том, что это может быть возможный источник проблем.

Следуйте инструкциям в этой статье. В этой статье перезапускается служба Remote Desktop на виртуальной машине.

  • Включите правило по умолчанию брандмауэра Windows "Remote Desktop" (TCP-порт 3389).
  • Включите подключения Remote Desktop, задав значение реестра HKLM\System\CurrentControlSet\Control\Terminal Server\fDenyTSConnections на 0.

Попытайтесь снова установить подключение со своего компьютера. Если вы по-прежнему не можете подключиться через Remote Desktop, проверьте наличие следующих возможных проблем:

  • Служба Remote Desktop не запущена на целевой виртуальной машине.
  • Служба Remote Desktop не прослушивает TCP-порт 3389.
  • Windows Firewall или другой локальный брандмауэр содержит правило для исходящего трафика, которое блокирует трафик удаленного рабочего стола.
  • Обнаружение вторжений или программное обеспечение мониторинга сети, работающее на виртуальной машине Azure, предотвращает Remote Desktop подключения.

Для виртуальных машин, созданных с помощью классической модели развертывания, можно использовать удаленный сеанс Azure PowerShell для виртуальной машины Azure. Сначала нужно установить сертификат для доступа к облачной службе, в которой размещена виртуальная машина. Перейдите к Настроить безопасный удаленный доступ PowerShell к виртуальным машинам Azure и скачайте файл скрипта 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

Из свойства SubscriptionName в выходных данных команды Get-AzureSubscription можно получить правильное имя подписки. Имя облачной службы для виртуальной машины можно получить из столбца ServiceName в выходных данных команды Get-AzureVM.

Проверьте, есть ли у вас новый сертификат. Для этого откройте оснастку "Сертификаты" для текущего пользователя и просмотрите папку Доверенные корневые центры сертификации\Сертификаты. Вы должны увидеть сертификат с 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>

Первая часть строки — это имя облачной службы, в которой находится целевая виртуальная машина (может отличаться от "cloudservice4testing.cloudapp.net"). Теперь вы можете выполнить Azure PowerShell команды для этой облачной службы, чтобы изучить упомянутые проблемы и исправить конфигурацию.

Исправление TCP-порта службы удалённых рабочих столов вручную

В командной строке удаленного Azure PowerShell сеанса выполните следующую команду.

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

Свойство PortNumber содержит текущий номер порта. При необходимости измените номер порта Remote Desktop обратно на значение по умолчанию (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

Убедитесь, что конечная точка Remote Desktop для виртуальной машины Azure также использует TCP-порт 3398 в качестве внутреннего порта. Перезапустите виртуальную машину Azure и повторите попытку подключения Remote Desktop.

Дополнительные ресурсы

Как сбросить пароль или службу Remote Desktop для виртуальных машин Windows

Как установить и настроить Azure PowerShell

Устранение неполадок подключения Secure Shell (SSH) к виртуальной машине Azure под управлением Linux

Устранение неполадок доступа к приложению, которое работает на виртуальной машине Azure