Как исправить ошибку RDP неправильный алгоритм. Настройка SecurityLayer, шифрования и CredSSP. Решение проблем с подключением к удаленному рабочему столу.
2026.05.02
#удаленный рабочий стол
#RDP
#Windows
#ошибка подключения
#настройка RDP
#шифрование
#CredSSP
#удаленное управление
Подробный гайд: устранение ошибки «Код состояния: указан неправильный алгоритм RDP» в Windows
Эта ошибка возникает, когда клиент и сервер удалённого рабочего стола не могут согласовать общий алгоритм шифрования или протокол безопасности. Чаще всего появляется после установки обновлений безопасности Windows, при использовании сторонних RDP-клиентов или из-за жёстких политик шифрования.
Основные причины
| Причина |
Описание |
Несовпадение SecurityLayer |
Сервер требует TLS, клиент пытается использовать RDP (или наоборот) |
| Низкий уровень шифрования |
Отключены современные алгоритмы (AES, TLS 1.2+) |
| Устаревший CredSSP |
Клиент или сервер не поддерживают исправленную версию протокола аутентификации |
| Групповые политики |
Принудительно задан несовместимый метод безопасности |
| Сторонний клиент |
FreeRDP, Remmina, Royal TS и др. используют старые параметры по умолчанию |
Пошаговое устранение
Шаг 1. Настройка на стороне сервера (удалённый ПК)
Требуются права локального администратора.
- Откройте редактор групповых политик:
Win + R → gpedit.msc → Enter
2. Перейдите по пути:
Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Узел сеансов удалённых рабочих столов → Безопасность
3. Измените следующие параметры:
| Параметр |
Рекомендуемое значение |
Требуемый уровень безопасности для удалённых (RDP) подключений |
Согласование (Negotiate) |
Уровень шифрования клиентских подключений |
Высокий или Совместимый с клиентом |
- Примените:
Win + R → cmd → gpupdate /force
5. Перезапустите службу RDP:
net stop TermService /y && net start TermService
Шаг 2. Настройка на стороне клиента (ваш ПК)
- Запустите
mstsc.exe → нажмите Показать параметры
2. Вкладка Дополнительно → раздел Параметры сервера:
- Выберите:
Подключение с проверкой подлинности на сервере (TLS) или Согласование
3. Убедитесь, что в sysdm.cpl → Удалённый доступ стоит галочка:
Разрешить подключения только с компьютеров, на которых работает удалённый рабочий стол с проверкой подлинности на уровне сети (NLA)
Шаг 3. Правка реестра (если gpedit.msc недоступен)
Подходит для Windows 10/11 Home, Server Core, или если политики не применяются.
Win + R → regedit → 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
- Убедитесь, что версия
mstsc.exe ≥ 10.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 → Службы удалённых рабочих столов → Безопасность → Исправление уязвимости оракула шифрования
- Установите: Включено → Уровень защиты: Уязвимый
- Попробуйте подключиться. Если ошибка исчезла → проблема в несовместимой версии CredSSP клиента.
- Обязательно верните значение
Защита от атак с использованием оракула шифрования → Принудительная и обновите клиент.
Шаг 6. Проверка и диагностика
| Команда/Действие |
Назначение |
qwinsta /server:<IP> |
Проверка состояния сессий RDP на сервере |
test-connection <IP> |
Базовая проверка сети |
Get-NetTCPConnection -LocalPort 3389 |
Проверка, слушает ли порт RDP |
sfc /scannow |
Восстановление системных файлов |
DISM /Online /Cleanup-Image /RestoreHealth |
Восстановление хранилища компонентов |
Журналы событий для анализа:
eventvwr.msc → Журналы приложений и служб → Microsoft → Windows → TerminalServices-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). Решение: обновить клиент/сервер до поддерживаемых версий.