Подробный гайд: устранение ошибки «Код состояния: указан неправильный алгоритм RDP» в Windows

Как исправить ошибку RDP неправильный алгоритм. Настройка SecurityLayer, шифрования и CredSSP. Решение проблем с подключением к удаленному рабочему столу.

2026.05.02                  


Подробный гайд: устранение ошибки «Код состояния: указан неправильный алгоритм RDP» в WindowsПодробный гайд: устранение ошибки «Код состояния: указан неправильный алгоритм RDP» в Windows Эта ошибка возникает, когда клиент и сервер удалённого рабочего стола не могут согласовать общий алгоритм шифрования или протокол безопасности. Чаще всего появляется после установки обновлений безопасности Windows, при использовании сторонних RDP-клиентов или из-за жёстких политик шифрования.


Основные причины

Причина Описание
Несовпадение SecurityLayer Сервер требует TLS, клиент пытается использовать RDP (или наоборот)
Низкий уровень шифрования Отключены современные алгоритмы (AES, TLS 1.2+)
Устаревший CredSSP Клиент или сервер не поддерживают исправленную версию протокола аутентификации
Групповые политики Принудительно задан несовместимый метод безопасности
Сторонний клиент FreeRDP, Remmina, Royal TS и др. используют старые параметры по умолчанию

Пошаговое устранение

Шаг 1. Настройка на стороне сервера (удалённый ПК)

Требуются права локального администратора.
  1. Откройте редактор групповых политик: Win + Rgpedit.msc → Enter
2. Перейдите по пути:
Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Узел сеансов удалённых рабочих столов → Безопасность
3. Измените следующие параметры:
Параметр Рекомендуемое значение
Требуемый уровень безопасности для удалённых (RDP) подключений Согласование (Negotiate)
Уровень шифрования клиентских подключений Высокий или Совместимый с клиентом
  1. Примените: Win + Rcmdgpupdate /force
5. Перезапустите службу RDP:
   net stop TermService /y && net start TermService

Шаг 2. Настройка на стороне клиента (ваш ПК)

  1. Запустите mstsc.exe → нажмите Показать параметры
2. Вкладка Дополнительно → раздел Параметры сервера:
  • Выберите: Подключение с проверкой подлинности на сервере (TLS) или Согласование
3. Убедитесь, что в sysdm.cplУдалённый доступ стоит галочка:

Разрешить подключения только с компьютеров, на которых работает удалённый рабочий стол с проверкой подлинности на уровне сети (NLA)


Шаг 3. Правка реестра (если gpedit.msc недоступен)

Подходит для Windows 10/11 Home, Server Core, или если политики не применяются.
  1. Win + Rregedit → Enter
2. Перейдите:
   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
3. Создайте/измените параметры типа DWORD (32-bit):
Имя параметра Значение Описание
SecurityLayer 1 1 = Согласование (рекомендуется), 2 = TLS, 0 = RDP
UserAuthentication 1 1 = Включить NLA
MinEncryptionLevel 3 3 = Высокое шифрование (AES)
4. Перезагрузите ПК или выполните:
   net stop TermService /y && net start TermService

Шаг 4. Обновление компонентов RDP и CredSSP

Ошибка часто появляется после патчей CVE-2018-0886 и последующих обновлений безопасности.
1. Установите последние накопительные обновления Windows:
   wuauclt /detectnow
  1. Убедитесь, что версия mstsc.exe10.0.19041 (Windows 10 20H2+)
3. Если используете Linux/macOS клиенты (FreeRDP, Remmina):
  • Обновите пакет до версии 2.4.0+ или 3.0+
  • В настройках подключения укажите: Security: NLA, Encryption: TLS, Protocol: RDP

Шаг 5. Настройка CredSSP (только для диагностики!)

Снижает безопасность. Используйте только временно для проверки совместимости.
1. На сервере: gpedit.msc
Конфигурация компьютера → Адм. шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Безопасность → Исправление уязвимости оракула шифрования
  1. Установите: Включено → Уровень защиты: Уязвимый
  2. Попробуйте подключиться. Если ошибка исчезла → проблема в несовместимой версии CredSSP клиента.
  3. Обязательно верните значение Защита от атак с использованием оракула шифрованияПринудительная и обновите клиент.

Шаг 6. Проверка и диагностика

Команда/Действие Назначение
qwinsta /server:<IP> Проверка состояния сессий RDP на сервере
test-connection <IP> Базовая проверка сети
Get-NetTCPConnection -LocalPort 3389 Проверка, слушает ли порт RDP
sfc /scannow Восстановление системных файлов
DISM /Online /Cleanup-Image /RestoreHealth Восстановление хранилища компонентов
Журналы событий для анализа:
  • eventvwr.mscЖурналы приложений и службMicrosoftWindowsTerminalServices-RemoteConnectionManager и TerminalServices-LocalSessionManager

Ищите события с ID 1000-1100, содержащие Security Layer, Encryption, CredSSP или Algorithm.


Рекомендации по безопасности

  • Никогда не оставляйте SecurityLayer = 0 или MinEncryptionLevel = 1 в продакшене
  • Включите блокировку учётных записей после 5 неудачных попыток входа
  • Регулярно обновляйте оба узла (клиент и сервер)
  • Отключите RDP, если он не используется: Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server' -Name 'fDenyTSConnections' -Value 1

Частые вопросы

В: Ошибка появляется только с определённого клиента?
  • О: Да, обычно это связано с версией RDP-клиента или его настройками шифрования. Обновите клиент или принудительно задайте TLS 1.2+ и NLA.
В: Можно ли отключить NLA, чтобы обойти ошибку?
  • О: Технически да (UserAuthentication = 0), но это критически снижает безопасность и открывает сервер к brute-force атакам. Не рекомендуется.
В: Ошибка появляется после установки обновления Windows?
  • О: Да, Microsoft постепенно отключает старые алгоритмы (RC4, TLS 1.0/1.1, устаревший CredSSP). Решение: обновить клиент/сервер до поддерживаемых версий.