«Произошла внутренняя ошибка» при подключении по RDP: причины и лечение
«Подключение к удалённому рабочему столу: произошла внутренняя ошибка» — формулировка, которая не говорит ничего. На деле за ней стоит короткий список причин: кеш клиента, сертификат RDP на сервере, UDP-транспорт и зависшая служба. Идём по нему от быстрого к глубокому.
Быстрые проверки — две минуты
- Ошибка у всех или только у вас? У всех — идите к разделу про сервер. Только у вас — причина на вашей машине.
- Перезапуск службы на сервере. «Службы удалённых рабочих столов» в services.msc — перезапустить. Зависшие сессии и залипший стек RDP лечатся именно этим.
- Другой клиент. Попробуйте подключиться с телефона или другого ПК: сузите круг за минуту.
Лечение на стороне клиента
Кеш RDP-клиента. Клиент хранит кеш подключений, и его повреждение — классическая причина внутренней ошибки. Закройте все окна RDP и удалите содержимое папки:
%LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache
UDP-транспорт. RDP использует TCP и UDP; на некоторых маршрутах (VPN, мобильные сети, «зарезанный» провайдером UDP) UDP-канал рвётся и валит сессию. Отключите UDP на клиенте: групповая политика «Отключить UDP на клиенте» (Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Клиент подключения) или параметр реестра fClientDisableUDP = 1 в HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client. Сессии станут чуть менее плавными, зато перестанут падать.
Файл .rdp. Старый сохранённый ярлык подключения со «зашитыми» настройками экрана и шлюза иногда конфликтует с обновлённым клиентом — создайте подключение заново.
Лечение на стороне сервера
Сертификат RDP. Сессию шифрует самоподписанный сертификат в хранилище компьютера (раздел Remote Desktop). Повреждён или истёк без пересоздания — все получают внутреннюю ошибку. Удалите его из оснастки сертификатов и перезапустите службу удалённых рабочих столов: сертификат создастся заново.
Журнал событий. Просмотр событий → Журналы приложений и служб → Microsoft → Windows → TerminalServices-*. В отличие от клиента, сервер называет причину: ошибки лицензирования, обрывы транспорта, проблемы стека после конкретного обновления.
Зависшие сессии. Отключённые, но не завершённые сессии копятся и занимают стек. quser покажет список, logoff <id> — завершит. Радикально — перезагрузка в нерабочее время.
Если ошибка другая
«Внутренняя ошибка» — лишь одна из формулировок. Не подключается вообще, ругается на учётные данные, CredSSP или лицензирование — это соседний разбор: RDP не подключается: полный чек-лист. А если RDP у вас — ежедневный рабочий инструмент для 1С и бухгалтерии, посмотрите на терминальный сервер: он для этого и создан.
Держать сервер с RDP стабильным и защищённым — часть нашего обслуживания серверов: мониторинг, обновления без сюрпризов, закрытый снаружи 3389 и доступ через VPN.
Частые вопросы
Что делать первым при «произошла внутренняя ошибка» RDP?
Перезапустить на удалённой машине службу «Службы удалённых рабочих столов» (или перезагрузить её целиком) и попробовать снова. Если ошибка осталась — очистить кеш RDP-клиента на своей машине: закрыть клиент и удалить содержимое папки %LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache. Эти два шага закрывают большинство случаев.
Почему внутренняя ошибка RDP появляется только с одного компьютера?
Если с других машин подключение работает, проблема в клиенте: повреждённый кеш подключения (лечится очисткой папки Cache), сохранённые устаревшие настройки в .rdp-файле, либо сбоящий UDP-транспорт на этом маршруте — его можно отключить политикой «Отключить UDP на клиенте» или параметром реестра fClientDisableUDP.
При чём тут сертификат удалённого рабочего стола?
Сервер шифрует RDP-сессию самоподписанным сертификатом. Если он повреждён или истёк и не пересоздался, подключение обрывается внутренней ошибкой. Лечение: на сервере в хранилище сертификатов компьютера, раздел Remote Desktop, удалить сертификат RDP и перезапустить службу удалённых рабочих столов — сертификат создастся заново.
Внутренняя ошибка стала появляться у всех сотрудников сразу. Куда смотреть?
На сервер: перегружен диапазон подключений, зависшие сессии, проблемный патч или сбитый сертификат RDP. Быстрый обход — перезапуск службы удалённых рабочих столов; правильный путь — журнал событий сервера, раздел TerminalServices, там причина обычно названа.