НейроАгент

Проблемы подключения RDP: работает с одного ПК, не с другого

Устраняем проблему подключения RDP: работает со старого ПК, но не с нового. Анализ ошибок SSL/TLS и практические решения для Windows Server 2019 и Windows 11.

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

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

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

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

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

НейроАгент

Основная причина проблемы с подключением RDP с нового компьютера (ПК2) при успешном подключении со старого (ПК1) связана с SSL/TLS-рукопожатием, как указано в ошибках. Обычно это происходит из-за несовместимости версий протоколов безопасности, проблем с сертификатами сервера, устаревших сетевых драйверов или блокировки портов межсетевым экраном на ПК2.

Содержание


Основные причины сбоя подключения RDP

Сбой подключения RDP с одного компьютера при работе с другим может быть вызван несколькими факторами, но в вашем случае ошибки указывают именно на проблемы с SSL/TLS-соединением:

Несовместимость версий TLS/SSL

  • На ПК2 может быть установлен более новый или другой набор протоколов безопасности
  • Сервер может поддерживать только определенные версии TLS, а клиент пытается использовать неподдерживаемую

Пример ошибки: RDPClient_SSL: ошибка при переходе из TsSslStateHandshakeInProgress в TsSslStateDisconnecting в ответ на TsSslEventHandshakeContinueFailed

Проблемы с сертификатами

  • Неверные или устаревшие сертификаты на сервере
  • Проблемы с доверенными корневыми сертификатами на ПК2
  • Несоответствие имен сертификатов

Блокировки безопасности

  • Межсетевые экраны на ПК2 блокируют трафик на порту 3389
  • Защитник Windows или антивирусные программы блокируют RDP-соединения
  • Политики безопасности Windows на ПК2 ограничивают удаленное подключение

Диагностика проблем с SSL/TLS

Поскольку в логах явно указана проблема SSL/TLS, начните с диагностики этих компонентов:

Проверка поддерживаемых протоколов

  1. Откройте PowerShell от имени администратора на ПК2
  2. Выполните команду для проверки текущих протоколов TLS:
powershell
[System.Net.ServicePointManager]::SecurityProtocol
  1. Убедитесь, что включены не только TLS 1.2, но и TLS 1.3:
powershell
# Для включения поддерживаемых версий
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 -bor [System.Net.SecurityProtocolType]::Tls13

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

  1. На ПК1 (где подключение работает) проверьте сертификат:

    powershell
    Invoke-WebRequest -Uri "rdp://ваш_сервер:3389" -UseBasicParsing
    
  2. Сравните настройки с ПК2:

    powershell
    # Проверка текущих сертификатов
    Get-ChildItem -Path Cert:\LocalMachine\RemoteDesktop
    

Проверка сетевых настроек

Базовая сетевая диагностика

  1. Проверка доступности сервера:

    cmd
    ping ваш_сервер
    telnet ваш_сервер 3389
    
  2. Проверка DNS-разрешения:

    cmd
    nslookup ваш_сервер
    
  3. Проверка маршрутизации:

    cmd
    tracert ваш_сервер
    

Конфигурация межсетевого экрана

  1. Временно отключите Защитник Windows на ПК2

  2. Проверьте настройки межсетевого экрана:

    powershell
    Get-NetFirewallRule -DisplayName "*Remote Desktop*"
    
  3. Разрешите порт 3389:

    powershell
    New-NetFirewallRule -DisplayName "Allow RDP" -Direction Inbound -LocalPort 3389 -Protocol TCP -Action Allow
    

Настройка безопасности сервера

Конфигурация политики безопасности RDP

  1. Откройте редактор локальной групповой политики на сервере:

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

    • Разрешите только безопасное подключение (Level 3)
    • Отключите требование проверки подлинности уровня сети

Управление сертификатами сервера

  1. Проверьте текущие сертификаты:

    powershell
    Get-ChildItem -Path Cert:\LocalMachine\RemoteDesktop
    
  2. Создайте новый самоподписанный сертификат при необходимости:

    powershell
    New-SelfSignedCertificate -DnsName "ваш_сервер" -CertStoreLocation "Cert:\LocalMachine\RemoteDesktop"
    
  3. Назначьте сертификат для служб удаленного рабочего стола:

    powershell
    Set-Item -Path "WSMan:\localhost\Client\TrustedHosts" -Value "ваш_сервер" -Force
    

Решение проблем с клиентом

Обновление сетевых драйверов

  1. Обновите драйверы сетевой карты на ПК2:

    • Через Диспетчер устройств
    • Через Центр обновления Windows
    • Через сайт производителя оборудования
  2. Проверьте состояние сетевых служб:

    powershell
    Get-Service -Name "*network*"
    Restart-Service -Name "Dnscache", "Winmgmt", "TermService"
    

Очистка кэша RDP

  1. Удалите старые подключения RDP:

    cmd
    reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
    
  2. Очистите временные файлы:

    cmd
    del /s /q "%USERPROFILE%\AppData\Local\Temp\*"
    
  3. Перезапустите службу удаленного рабочего стола:

    powershell
    Restart-Service -Name "TermService" -Force
    

Переустановка клиентских компонентов RDP

  1. Временно отключите службы удаленного рабочего стола:

    powershell
    Set-Service -Name "TermService" -StartupType Disabled
    Set-Service -Name "UmRdpService" -StartupType Disabled
    
  2. Удалите компоненты RDP:

    cmd
    dism /online /norestart /uninstall-feature /featurename:Remote-Desktop-Services
    dism /online /norestart /uninstall-feature /featurename:TerminalServices
    
  3. Перезагрузите ПК2

  4. Установите компоненты обратно:

    cmd
    dism /online /enable-feature /featurename:Remote-Desktop-Services /norestart
    dism /online /enable-feature /featurename:TerminalServices /norestart
    

Дополнительные методы устранения неполадок

Использование других клиентов RDP

  1. Попробуйте альтернативные клиенты:

    • Microsoft Remote Desktop Connection Manager
    • Remote Desktop Plus
    • Remmina (для Linux)
  2. Проверьте работу с другими параметрами подключения:

    cmd
    mstsc /v:ваш_сервер /admin
    mstsc /v:ваш_сервер /multimon
    

Проверка реестра Windows

  1. Экспортируйте раздел реестра на ПК1 (рабочий):

    cmd
    reg export "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" c:\rdp_settings.reg
    
  2. Импортируйте на ПК2:

    cmd
    reg import c:\rdp_settings.reg
    

Конфигурация политики безопасности на ПК2

  1. Откройте gpedit.msc на ПК2
  2. Конфигурация компьютера → Административные шаблоны → Сеть → Сетевое соединение
  3. Отключите параметры блокировки удаленных подключений

Источники

  1. Официальная документация Microsoft - Устранение неполадок с RDP
  2. Microsoft TechNet - Настройка SSL/TLS для RDP
  3. Microsoft Support - Error 0x80004005 при подключении RDP
  4. Stack Overflow - RDP SSL handshake failed

Заключение

Основные выводы:

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

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

  1. Начните с проверки и настройки протоколов TLS на ПК2
  2. Обновите сетевые драйверы и перезапустите службы
  3. Временно отключите межсетевой экран и антивирус для тестирования
  4. Если ничего не помогает, переустановите компоненты удаленного рабочего стола

Дополнительные замечания:

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

Если проблема сохраняется, возможно, потребуется обратиться в техническую поддержку Microsoft для глубокой диагностики конкретного случая.