НейроАгент

Почему не работает RDP с нового компьютера

Решение проблемы подключения RDP с одного компьютера, но успешного с другого. Анализ ошибок SSL/TLS, сертификатов и групповых политик Windows Server 2019.

Вопрос

Почему не удается подключиться к RDP с одного компьютера, но успешно подключается с другого?

У меня есть сервер Windows Server 2019, не входящий в домен (по требованию), с включенной службой терминалов. Есть два компьютера с Windows 11, оба входят в домен. Со старого компьютера (ПК1) я могу подключиться к серверу как по IP-адресу, так и по имени. Однако с нового компьютера (ПК2) подключение не удается, и аналогичная проблема наблюдается и с других компьютеров.

При попытке подключения с ПК2 через mstsc появляется сообщение “попытка входа в систему неудачна”. Логин и пароль точно такие же, как и на ПК1, где подключение работает успешно.

В логах на ПК2 (Microsoft-Windows-TerminalServices-RDPClient) обнаружены следующие ошибки:

  • Отключение RDP ClientActiveX (Причина= 2055)
  • Сервер поддерживает SSL = supported
  • Base64(SHA256(имя пользователя)) = ***
  • RDPClient_SSL: произошла ошибка при переходе из TsSslStateHandshakeInProgress в TsSslStateDisconnecting в ответ на TsSslEventHandshakeContinueFailed. (Код ошибки: 0x80004005).
  • Мультитранспортное подключение разорвано.

Какие возможные причины этой проблемы и как ее исправить?

НейроАгент

Ошибка подключения RDP с одного компьютера, но успешного с другого, чаще всего связана с различиями в настройках безопасности,特别是SSL/TLS конфигурации, или с проблемами сертификатов. В вашем случае с кодом ошибки 2055 и сбоями SSL-рукопожатия, основная проблема заключается в несовместимости версий TLS или настройках безопасности между новым компьютером ПК2 и сервером Windows Server 2019.

Содержание


Основные причины проблемы

Несколько ключевых факторов могут вызывать такую ситуацию:

  1. Несовместимость версий TLS/SSL - Новый компьютер ПК2, вероятно, использует более строгие настройки безопасности по сравнению со старым ПК1. Windows Server 2019 по умолчанию поддерживает TLS 1.2, но может иметь ограничения по шифрам.

  2. Проблемы с сертификатами - Ошибка в логах указывает на SSL-сбой. Сертификат на сервере может быть настроен неправильно или иметь проблемы с доверенными корневыми центрами на ПК2.

  3. Различия в групповых политиках - Поскольку оба компьютера входят в домен, на ПК2 могут применяться более строгие политики безопасности, ограничивающие RDP-подключения.

  4. Сетевые различия - Разные сети или прокси-серверы между ПК1 и ПК2 могут влиять на соединение.

Из ваших логов видно, что основная проблема - RDPClient_SSL: произошла ошибка при переходе из TsSslStateHandshakeInProgress в TsSslStateDisconnecting, что указывает на сбой SSL-рукопожатия.

Решения: Настройки SSL/TLS

На сервере Windows Server 2019:

  1. Проверка и изменение протоколов TLS:

    • Запустите regedit и перейдите в раздел: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
    • Если нет подразделов для TLS 1.0, 1.1, 1.2, создайте их
    • В каждом подразделе создайте DWORD-параметр Enabled со значением 0, чтобы отключить ненужные протоколы
    • Для TLS 1.2 установите Enabled = 1
  2. Настройка шифров:

    • Перейдите: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers
    • Создайте необходимые подразделы для нужных шифров (например, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384)
    • Установите параметр Enabled = 1
  3. Отключение обязательной проверки подлинности на уровне канала:

    • В реестре перейдите: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    • Создайте параметр DWORD UserAuthentication со значением 0 (позволяет подключение без проверки подлинности на уровне канала)

На клиенте ПК2:

  1. Временное отключение TLS 1.3 (если используется):
    • Проверьте, не установлен ли обновление, включающее TLS 1.3, и временно откатите его
    • В реестре ПК2: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client
    • Установите DisabledByDefault = 1

Решения: Проблемы с сертификатами

Проверка сертификата на сервере:

  1. Экспорт и проверка сертификата:

    cmd
    certutil -f -viewstore -v -user my
    

    Ищите сертификаты для RDP-подключения

  2. Установка сертификата на ПК2:

    • Экспортируйте сертификат с сервера (включая закрытый ключ)
    • Установите его на ПК2 в хранилище “Доверенные корневые центры сертификации”

Ручная настройка сертификата:

  1. Использование самоподписанного сертификата:

    • На сервере выполните:
    cmd
    New-SelfSignedCertificate -DnsName "your-server-name" -CertStoreLocation "cert:\LocalMachine\My"
    
    • Экспортируйте и установите на ПК2
  2. Изменение параметров RDP для игнорирования ошибок сертификата:

    • В файле .rdp добавьте строку: use multimon:i:0
    • Или используйте параметр prompt for credentials:i:1

Решения: Групповые политики и настройки клиента

Настройка групповых политик на ПК2:

  1. Политики безопасности для RDP:

    • Откройте gpedit.msc
    • Перейдите: Конфигурация компьютера > Административные шаблоны > Сеть > Сетевые подключения > Параметры безопасности для протокола SSL (TLS)
    • Установите политики для поддержки нужных версий TLS
  2. Политики проверки подлинности:

    • Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы удаленных рабочих столов > Узел сеанса удаленных рабочих столов > Безопасность
    • Настройте политики для разрешения подключения

Сравнение с работающим ПК1:

  1. Экспорт реестра настроек безопасности:
    • На ПК1 экспортируйте разделы реестра, связанные с RDP и SSL
    • Импортируйте их на ПК2:
    cmd
    regedit /e rdp_settings.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"
    regedit /s rdp_settings.reg
    

Дополнительные проверки и решения

Сетевые проверки:

  1. Проверка брандмауэра:

    • На сервере убедитесь, что порт 3389 открыт для входящих подключений
    • На ПК2 проверьте, что брандмауэр Windows не блокирует исходящие подключения на порт 3389
  2. Проверка маршрутизации:

    cmd
    tracert your-server-ip
    ping your-server-ip
    

    Убедитесь, что маршруты доступны

Альтернативные методы подключения:

  1. Использование другого RDP-клиента:

  2. Временное отключение антивируса:

    • Отключите временное антивирусное ПО на ПК2 для проверки конфликта
  3. Создание нового пользователя на сервере:

    • Создайте тестового пользователя с правами администратора
    • Попробуйте подключиться с новыми учетными данными

Заключение

Основные причины проблемы подключения RDP с ПК2 включают:

  1. Несовместимость TLS/SSL - самая вероятная причина с учетом кода ошибки 2055
  2. Проблемы с сертификатами - особенно если сервер использует самоподписанный сертификат
  3. Строгие групповые политики на ПК2, ограничивающие RDP-подключения
  4. Сетевые различия между рабочими средами ПК1 и ПК2

Рекомендуемые действия в порядке приоритета:

  1. Проверьте и настройте протоколы TLS на сервере и клиенте
  2. Экспортируйте и установите сертификат с сервера на ПК2
  3. Сравните групповые политики между ПК1 и ПК2
  4. Временно отключите антивирус и брандмауэр для проверки конфликтов
  5. Попробуйте подключение с другого RDP-клиента

Если проблема сохраняется, проверьте наличие последних обновлений Windows на ПК2, так как Microsoft выпустила исправления для известных проблем с TLS-рукопожатием в последних обновлениях системы.

Источники

  1. Troubleshoot Remote desktop disconnected errors - Windows Server | Microsoft Learn
  2. Incorrect TLS is displayed - Windows Server | Microsoft Learn
  3. SSL/TLS handshake failed - Microsoft Q&A
  4. SSL handshake failed errors in RDP (4315954) - One Identity
  5. RDP unable to connect due to TLS issue - Super User
  6. Microsoft fixes Windows TLS handshake failures in out-of-band updates - BleepingComputer
  7. Remote Desktop Connection Certificate Error - Microsoft Q&A