Почему не удается подключиться к 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
- Диагностика проблем с SSL/TLS
- Проверка сетевых настроек
- Настройка безопасности сервера
- Решение проблем с клиентом
- Дополнительные методы устранения неполадок
Основные причины сбоя подключения RDP
Сбой подключения RDP с одного компьютера при работе с другим может быть вызван несколькими факторами, но в вашем случае ошибки указывают именно на проблемы с SSL/TLS-соединением:
Несовместимость версий TLS/SSL
- На ПК2 может быть установлен более новый или другой набор протоколов безопасности
- Сервер может поддерживать только определенные версии TLS, а клиент пытается использовать неподдерживаемую
Пример ошибки:
RDPClient_SSL: ошибка при переходе из TsSslStateHandshakeInProgress в TsSslStateDisconnecting в ответ на TsSslEventHandshakeContinueFailed
Проблемы с сертификатами
- Неверные или устаревшие сертификаты на сервере
- Проблемы с доверенными корневыми сертификатами на ПК2
- Несоответствие имен сертификатов
Блокировки безопасности
- Межсетевые экраны на ПК2 блокируют трафик на порту 3389
- Защитник Windows или антивирусные программы блокируют RDP-соединения
- Политики безопасности Windows на ПК2 ограничивают удаленное подключение
Диагностика проблем с SSL/TLS
Поскольку в логах явно указана проблема SSL/TLS, начните с диагностики этих компонентов:
Проверка поддерживаемых протоколов
- Откройте PowerShell от имени администратора на ПК2
- Выполните команду для проверки текущих протоколов TLS:
[System.Net.ServicePointManager]::SecurityProtocol
- Убедитесь, что включены не только TLS 1.2, но и TLS 1.3:
# Для включения поддерживаемых версий
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 -bor [System.Net.SecurityProtocolType]::Tls13
Проверка сертификата сервера
-
На ПК1 (где подключение работает) проверьте сертификат:
powershellInvoke-WebRequest -Uri "rdp://ваш_сервер:3389" -UseBasicParsing -
Сравните настройки с ПК2:
powershell# Проверка текущих сертификатов Get-ChildItem -Path Cert:\LocalMachine\RemoteDesktop
Проверка сетевых настроек
Базовая сетевая диагностика
-
Проверка доступности сервера:
cmdping ваш_сервер telnet ваш_сервер 3389 -
Проверка DNS-разрешения:
cmdnslookup ваш_сервер
-
Проверка маршрутизации:
cmdtracert ваш_сервер
Конфигурация межсетевого экрана
-
Временно отключите Защитник Windows на ПК2
-
Проверьте настройки межсетевого экрана:
powershellGet-NetFirewallRule -DisplayName "*Remote Desktop*" -
Разрешите порт 3389:
powershellNew-NetFirewallRule -DisplayName "Allow RDP" -Direction Inbound -LocalPort 3389 -Protocol TCP -Action Allow
Настройка безопасности сервера
Конфигурация политики безопасности RDP
-
Откройте редактор локальной групповой политики на сервере:
gpedit.msc- Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленного рабочего стола → Узел сеанса удаленного рабочего стола → Безопасность
-
Настройте параметры безопасности:
- Разрешите только безопасное подключение (Level 3)
- Отключите требование проверки подлинности уровня сети
Управление сертификатами сервера
-
Проверьте текущие сертификаты:
powershellGet-ChildItem -Path Cert:\LocalMachine\RemoteDesktop -
Создайте новый самоподписанный сертификат при необходимости:
powershellNew-SelfSignedCertificate -DnsName "ваш_сервер" -CertStoreLocation "Cert:\LocalMachine\RemoteDesktop" -
Назначьте сертификат для служб удаленного рабочего стола:
powershellSet-Item -Path "WSMan:\localhost\Client\TrustedHosts" -Value "ваш_сервер" -Force
Решение проблем с клиентом
Обновление сетевых драйверов
-
Обновите драйверы сетевой карты на ПК2:
- Через Диспетчер устройств
- Через Центр обновления Windows
- Через сайт производителя оборудования
-
Проверьте состояние сетевых служб:
powershellGet-Service -Name "*network*" Restart-Service -Name "Dnscache", "Winmgmt", "TermService"
Очистка кэша RDP
-
Удалите старые подключения RDP:
cmdreg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
-
Очистите временные файлы:
cmddel /s /q "%USERPROFILE%\AppData\Local\Temp\*" -
Перезапустите службу удаленного рабочего стола:
powershellRestart-Service -Name "TermService" -Force
Переустановка клиентских компонентов RDP
-
Временно отключите службы удаленного рабочего стола:
powershellSet-Service -Name "TermService" -StartupType Disabled Set-Service -Name "UmRdpService" -StartupType Disabled -
Удалите компоненты RDP:
cmddism /online /norestart /uninstall-feature /featurename:Remote-Desktop-Services dism /online /norestart /uninstall-feature /featurename:TerminalServices
-
Перезагрузите ПК2
-
Установите компоненты обратно:
cmddism /online /enable-feature /featurename:Remote-Desktop-Services /norestart dism /online /enable-feature /featurename:TerminalServices /norestart
Дополнительные методы устранения неполадок
Использование других клиентов RDP
-
Попробуйте альтернативные клиенты:
- Microsoft Remote Desktop Connection Manager
- Remote Desktop Plus
- Remmina (для Linux)
-
Проверьте работу с другими параметрами подключения:
cmdmstsc /v:ваш_сервер /admin mstsc /v:ваш_сервер /multimon
Проверка реестра Windows
-
Экспортируйте раздел реестра на ПК1 (рабочий):
cmdreg export "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client" c:\rdp_settings.reg
-
Импортируйте на ПК2:
cmdreg import c:\rdp_settings.reg
Конфигурация политики безопасности на ПК2
- Откройте gpedit.msc на ПК2
- Конфигурация компьютера → Административные шаблоны → Сеть → Сетевое соединение
- Отключите параметры блокировки удаленных подключений
Источники
- Официальная документация Microsoft - Устранение неполадок с RDP
- Microsoft TechNet - Настройка SSL/TLS для RDP
- Microsoft Support - Error 0x80004005 при подключении RDP
- Stack Overflow - RDP SSL handshake failed
Заключение
Основные выводы:
- Проблема связана с SSL/TLS-рукопожатием, а не с аутентификацией
- На ПК2 могут быть несовместимые настройки безопасности или драйверы
- Сервер и ПК1 работают корректно, что говорит о проблеме именно на клиентской стороне
Рекомендуемые действия:
- Начните с проверки и настройки протоколов TLS на ПК2
- Обновите сетевые драйверы и перезапустите службы
- Временно отключите межсетевой экран и антивирус для тестирования
- Если ничего не помогает, переустановите компоненты удаленного рабочего стола
Дополнительные замечания:
- Всегда тестируйте изменения на тестовом окружении перед применением в рабочей среде
- Сохраняйте резервные копии важных настроек реестра
- Мониторьте события после внесения изменений для быстрого выявления новых проблем
Если проблема сохраняется, возможно, потребуется обратиться в техническую поддержку Microsoft для глубокой диагностики конкретного случая.