Как исправить RDP на Windows Server 2012?

12

Вот снимок состояния RDP. Выглядит неплохо: введите описание изображения здесь

Когда я иду на подключение с удаленного компьютера, я получаю сообщение об ошибке:

"This computer can't connect to the remote computer. 
Try connecting again. If the problem continues..."

Я тестировал порт 3389 удаленно, он открыт. Я проверил это с помощью netstat.

TCP    0.0.0.0:3389           hostname:0                LISTENING
  • Нет брандмауэра Windows
  • Нет сетевого брандмауэра
  • Совершенно новый самозаверяющий сертификат
  • Машина была недавно перезагружена, до этого работала
  • Службы терминалов запущены
  • Когда я проверяю сертификат SSL, он показывает все детали, хорошо выглядит, срок действия истекает в 2014 году
  • hklm: \ System \ CurrentControlSet \ Control \ Terminal Server \ fDenyTSConnections равно 0
  • Администратор C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys имеет все привилегии

Обновить:

Теперь я нахожу это в журнале событий в разделе «Административные события»:

"A fatal error occurred when attempting to access the SSL server credential 
private key. The error code returned from the cryptographic module is 0x8009030D. 
The internal error state is 10001." 

Я не уверен, как решить вышеуказанную ошибку. Я не уверен, что это мой импортированный сертификат RD, хотя я знаю, что это происходит, когда я пытаюсь выполнить RDP с моей машины.

Обновление II:

Я пытался использовать powershell для генерации сертификатов с закрытыми ключами. Неудачно. Используются техники здесь и здесь без удачи. Каждый раз, когда я добавлял сертификат в доверенные корни и личные данные пользователя системы в оснастке «Сертификат MMC».

Обновление III:

Так раздражает

Этот форум указывает, что окна могли обновляться во время перезагрузки, вызывая неисправимую ошибку при установке роли посредника подключений к удаленному рабочему столу (по-видимому, для создания pfx-файла с закрытым ключом для импорта в MMC). Ошибка исправления Июнь 2013 KB2821895. Это может быть напомнили с этим? http://support.microsoft.com/kb/2871777

Поэтому я запустил последнее обновление Windows и попытался установить посредник подключений к удаленному рабочему столу, чтобы я мог сгенерировать файл pfx. Неудачно. В нем говорится, что одна или несколько родительских функций не установлены - хотя Hyper-V и т. Д. Есть. И там не сказано, какие еще роли добавить ...

Обновить сводный вопрос!

Итак, все сказанное и сделанное теоретически может привести к тому, что установка посредника подключений к удаленному рабочему столу (для генерации закрытого ключа), вероятно, решит мою ошибку шифрования?

FlavorScape
источник
Ваш скриншот имеет шлюз RDP, но вы говорите о ванильного RDP. Это две разные вещи; Шлюз rdp работает на: 443 для туннелирования подключений rdp внутри сети.
Марк Хендерсон
Правильно, у меня появилось скрывающееся подозрение, что я оказался не в том месте. Как мне решить проблему с сертификатом? Я не вижу, где в настройках vanilla RD вообще это изменить.
FlavorScape,
Проверка того, что служба работает через netstat, не является достаточным тестом. Из удаленной системы запустите «telnet IP_OF_RDP_HOST 3389» (без кавычек), и он должен удалить весь текст в окне cmd. Или запустите захват сети (netmon / wireshark), чтобы определить, устанавливается ли сеанс TCP.
user2320464
Попробуйте пролистать blogs.technet.microsoft.com/askperf/2014/10/22/… - у меня это сработало с отклоненным RDP-соединением к Win2012 svr :-)
Найджел Харви

Ответы:

7

Эта ошибка может возникнуть при подключении после импорта SSL-сертификата (и связанного с ним закрытого ключа) в Windows Server 2012:

This computer can't connect to the remote computer. Try connecting again. If the problem continues, contact the owner of the remote computer or your network administrator. 

Кроме того, в журналах событий Windows вы видите:

"A fatal error occurred when attempting to access the SSL server credential 
private key. The error code returned from the cryptographic module is 0x8009030D. 
The internal error state is 10001." 

Решение:

Цитата из Microsoft KB2001849:

«Служба хостов удаленных рабочих столов работает под учетной записью NETWORK SERVICE. Поэтому необходимо включить ACL файла ключа, используемого RDS (на который ссылается сертификат, указанный в значении реестра SSLCertificateSHA1Hash), чтобы включить NETWORK SERVICE с« Read ». Разрешения. Чтобы изменить разрешения, выполните следующие действия:

Откройте оснастку «Сертификаты» для локального компьютера:

  1. Нажмите Пуск, нажмите Выполнить, введите mmc и нажмите OK.

  2. В меню Файл выберите Добавить / удалить оснастку.

  3. В диалоговом окне «Добавление или удаление оснасток» в списке «Доступные оснастки» нажмите «Сертификаты» и нажмите «Добавить».

  4. В диалоговом окне оснастки «Сертификаты» нажмите «Учетная запись компьютера» и нажмите «Далее».

  5. В диалоговом окне «Выбор компьютера» выберите «Локальный компьютер: (компьютер, на котором работает консоль)» и нажмите «Готово».

  6. В диалоговом окне Добавить или удалить оснастку нажмите кнопку ОК.

  7. В оснастке «Сертификаты» в дереве консоли разверните пункт «Сертификаты (локальный компьютер)», разверните «Личные» и перейдите к сертификату SSL, который вы хотите использовать.

  8. Щелкните правой кнопкой мыши сертификат, выберите «Все задачи» и выберите «Управление частными ключами».

  9. В диалоговом окне «Разрешения» нажмите «Добавить», введите NETWORK SERVICE, нажмите «ОК», выберите «Читать» под флажком «Разрешить» и нажмите «ОК». »

Источник: https://support.microsoft.com/en-us/kb/2001849

hwdsl2
источник
3

Я отключил услуги шлюза. В итоге я запустил MMC и полностью удалил сертификат RD. Затем я отключил и снова разрешил удаленные подключения. Это сгенерировало новый, хороший сертификат, и я смог войти в домен машины!

FlavorScape
источник
2

Я прав, если вы импортировали самоподписанный сертификат? Если это так, вы, скорее всего, отметили сертификат как неэкспортируемый, что объяснило бы ошибку ... Посмотрите на http://blogs.msdn.com/b/kaushal/archive/2012/10/07/error -hresult-0x80070520-when-добавление-ssl-binding-in-iis.aspx для получения дополнительной информации. Если я прав, вам нужно удалить и повторно импортировать сертификат с установленным флагом «Разрешить экспорт».

CHfish
источник
Мой сертификат никогда не генерировал закрытый ключ, поэтому я не могу экспортировать / импортировать его, чтобы загрузить в систему вместо хранилища пользовательских сертификатов. Сейчас я пытаюсь использовать PowerShell для генерации одного с закрытым ключом, потому что, очевидно, тот, что в диалоге RD, не делает этого вообще.
FlavorScape,
Я также не добавляю привязку к IIS, это для удаленного рабочего стола ...
FlavorScape
1

Есть решение для вас:

Скачайте makecert.exe и создайте новый сертификат для RDP

makecert -r -pe -n "CN = FQDN сервера" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr LocalMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 "

Измените полное доменное имя сервера на реальное значение.

Перейдите к сертификатам компьютера и под удаленным рабочим столом удалите текущий сертификат. Затем из личного магазина перенесите вновь созданный сертификат на удаленный рабочий стол. Откройте сертификат и скопируйте Thumbprint.

Откройте regedit и перейдите по адресу:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations

Обновите ключ SelfSignedCertificate с новым отпечатком сертификата.

Перезапустите службу удаленных рабочих столов

opti2k4
источник
1

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

Для разрешения я изменил службу удаленных рабочих столов, чтобы она работала в качестве учетной записи локальной системы вместо NETWORK SERVICE. Перезапустил сервис и все заработало как обычно.

РЕДАКТИРОВАТЬ:
Я только что узнал, что это приведет к тому, что Access Access отказано сообщение и должен быть установлен как NETWORK SERVICE. Но изменение этой учетной записи на локальную системную учетную запись и обратно на NETWORK SERVICE полностью решило мою проблему.

0x0000001E
источник
1

Это, наконец, то, что исправило эту же проблему для меня (большой пост в этом посте TechNet о том, как определить, какой закрытый ключ является нарушителем)

  1. Загрузите и запустите Procmon (из Sysinternals Suite)
  2. Контролируйте папку MachineKeys на предмет активности (скорее всего, C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys), прослушивая любые действия по этому пути
  3. Попытайтесь выполнить RDP на компьютере-нарушителе, и вы увидите, что Procmon отметит ошибку отказа в доступе вместе с файлом, который запрещал доступ
  4. Удалите поврежденный файл (возможно, вам придется сначала стать его владельцем, а затем дать себе полный контроль)
  5. Перезагрузите компьютер, и он должен восстановить отсутствующий ключ с правильными разрешениями
si1ic0n_gh0st
источник
0

Я опаздываю на вечеринку, но это то, что мне помогло.

  • Создайте новый сертификат PFX. Самоподписанный будет работать:

    Модуль установки SharePointPnPPowerShellOnline $ password = ConvertTo-SecureString "P @ ssword" -Force -AsPlainText New-PnPAzureCertificate -CommonName RDS_CertName -ValidYears 30 -OutPfx "RDS_CertName .pfxPate $ $

  • Захватить отпечаток в окне вывода
  • Установить созданный сертификат PFX на Мой компьютер> Личный магазин
  • Выполните следующую команду, используя отпечаток, который вы записали в шагах выше:

    wmic / namespace: \ root \ cimv2 \ TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash = " THUMB_PRINT "

Zerg00s
источник