Ошибка при подключении по RDP
RDP – это протокол, предназначенный для удаленного подключения к серверу с ОС Windows. Процесс подключения по RDP довольно прост и был уже детально описан в одной из наших инструкций.
Иногда у пользователя могут возникнуть трудности при очередной попытке входа на удаленный сервер с помощью RDP. Система в момент подключения выдает ошибку и ее краткое описание. Однако для обычного пользователя информации в системном окне ошибки недостаточно, чтобы решить проблему.
В статье мы рассмотрим наиболее частые пользовательские ошибки, которые возникают при попытке входа на удаленный сервер, и опишем, как их устранить.
Ошибка №1. «Произошла внутренняя ошибка»
Во время подключения по RDP с помощью штатной утилиты Windows пользователь может получить окно с ошибкой в момент входа на сервер.
Вот ее пример:
Как видно на картинке, описание ошибки нам ничего не объясняет. Причин у нее может быть множество. Например, она может возникнуть из-за неправильной настройки подключения или настройки безопасности протокола.
Ниже рассмотрим список причин и возможных решений, которые помогли другим пользователям избавиться от ошибки.
Решение №1. Проверка работы порта
Первое, что нужно сделать – это проверить, что прослушиватель протокола RDP настроен на работу по порту 3389 как на сервере, так и на локальной машине. Для этого будем использовать системное приложение «Редактор реестра».
Перед тем, как приступать к исправлению ошибки, следует создать резервную копию реестра.
- Нажимаем сочетание кнопок WIN+R и запускаем
regedt32
, используя поле ввода. - Создаем резервную копию. Для этого в окне реестра нажимаем вкладку «Файл», а затем «Экспорт». После выбираем место, где будут храниться файлы реестра. Если после внесенных изменений возникнут какие-либо ошибки, реестр можно будет восстановить («Файл» → «Импорт»).
- Далее открываем папку «RDP-Tcp». Для этого воспользуемся поиском, как показано на рисунке ниже.
- Для продолжения поиска используем кнопку F3. Нажимать ее нужно до тех пор, пока адрес папки не совпадет с адресом на картинке ниже.
- В найденной папке ищем параметр, который называется «PortNumber». В ситуации, когда его значение не равно 3389, его следует поменять.
- Теперь нужно повторить предыдущий шаг, только для удаленного сервера.
- После проверки портов следует выполнить перезапуск служб. Подробнее — в описании решения №2.
- Выполняем повторный вход на сервер.
Решение №2. Перезапуск служб удаленных рабочих столов
Если порт прошел проверку в предыдущем решении или был настроен правильно, то переходим к перезапуску служб удаленных рабочих столов. Чтобы не перезагружать устройства, которые могут находиться в работе, воспользуемся утилитой «Управление компьютером».
- Воспользуемся сочетанием кнопок WIN+R и запускаем
compmgmt.msc
, используя поле ввода. - Далее переходим во вкладку «Службы и приложения», а затем открываем «Службы».
- Находим «Службы удаленных рабочих столов» и кликаем «Перезапустить службу», как показано на картинке ниже.
- Далее снова выполняем предыдущие 2 шага, но в этот раз для сервера. Чтобы это сделать, нужно для начала нажать правой кнопкой мыши по вкладке «Управление компьютером», а затем нажать «Подключиться к другому компьютеру».
- После успешного подключения повторяем шаги 2 и 3.
- Пробуем заново подключиться к серверу.
Решение №3. Проверка статуса протокола на сервере
Чтобы проверить статус работы протокола RDP на сервере, воспользуемся системным приложением «Редактор реестра» из Решения №1.
- Нажимаем сочетание кнопок WIN+R и запускаем
regedt32
, используя поле ввода. - Теперь выполняем подключение к сетевому реестру, как показано на картинке ниже.
- Далее переходим в 2 папки, которые называются Terminal Server и Terminal Services. Для этого воспользуемся поиском (сочетание клавиш CTRL+F).
Переключаться между найденными папками можно с помощью клавиши F3. Нажимаем ее до тех пор, пока адрес папки не совпадет с адресом на картинке ниже.
То же самое выполняем для папки Terminal Services. Ее адрес при поиске должен совпасть со следующим.
В двух найденных выше папках ищем fDenyTSConnections
. Искомый параметр может принимать два значения: либо 0, либо 1. Первое указывает на успешную работу протокола RDP. Второе предполагает, что он отключен.
- Изменяем значения параметров на 0.
- Пробуем заново выполнить вход на сервер.
Решение №4. Изменение настроек подключения
Отдельным пользователям удалось проблему благодаря корректировкам настроек подключения к удаленному серверу. Опишем ниже пошаговое решение:
- В программе «Подключение к удаленному рабочему столу» открываем дополнительные параметры подключения.
- Среди всех вкладок выбираем «Взаимодействие» и кликаем на нее.
- Далее в поле, указанном на картинке ниже, следует установить или убрать галочку, в зависимости от того, в каком состоянии оно находится сейчас.
- Теперь пробуем заново выполнить подключение.
Решение №5. Очистка кэша подключений
Кроме перечисленных выше решений, можно попробовать очистить кэш подключений. Для этого выполним следующие шаги:
- Для начала следует включить отображение скрытых папок. Для этого устанавливаем галочку в соответствующем поле, как показано на картинке ниже.
- Далее переходим в папку Cache, которая расположена по адресу
C:\Users\%Имя_пользователя%\AppData\Local\Microsoft\Terminal Server Client
, и удаляем все, что в ней находится. - Теперь заходим в системное приложение «Редактор реестра», о котором говорилось ранее, и переходим к вкладке Servers (HKEY_CURRENT_USER → Software → Microsoft → Terminal Server Client). Здесь также удаляем все записи.
- Перезагружаем компьютер и выполняем повторное подключение к удаленному серверу.
Решение №6. Увеличение лимита на количество подключений
Внутренняя ошибка подключения по RDP может быть также решена за счет увеличения параметра реестра, отвечающего за ограничение количества сетевых подключений. Данный параметр по умолчанию в сетевых версиях равен 3000, а в десктопных всего 100. Он может очень быстро забиться, вследствие чего у пользователя и возникают трудности с входом.
Для исправления проблемы следует увеличить размер параметра MaxOutstandingConnections
. Чтобы это сделать, достаточно запустить терминал (обязательно в режиме администратора) и выполнить специальную команду:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v MaxOutstandingConnections /t REG_DWORD /d 65536
Результат выполнения команды продемонстрирован на картинке ниже.
Теперь перезагружаем службы удаленных рабочих столов и пробуем заново выполнить вход на сервер.
Ошибка №2 «CredSSP: ошибка при проверке подлинности»
Ошибка проверки подлинности при подключении по RDP возникает на этапе авторизации.
Как видно по картинке выше, система указывает пользователю на возможную причину ошибки, связанную с CredSSP.
CredSSP – это протокол Windows, который служит для безопасной передачи учетных данных от локальной машину к серверу. Он защищает пользователя от DDoS-атак или несанкционированного доступа к серверу.
Ошибка проверки подлинности зачастую возникает у пользователей из-за отсутствия обновлений безопасности на пользовательском компьютере, либо на самом удаленном сервере.
Ниже подробно опишем решение ошибки CredSSP во время подключения по RDP для Windows версий Home и Professional.
Скачать обновление безопасности после удачного входа пользователя на сервер возможно с официального сайта Microsoft либо в разделе «Центр обновления Windows» в параметрах вашей системы.
Решение №1. Windows Home
Описанное ниже решение ориентировано на пользователей с ОС Windows Home.
- Для начала открываем на пользовательском компьютере терминал, запущенный от имени администратора.
- Далее вводим команду в строку терминала:
REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2
Используемая команда вносит корректировки в реестр Windows, добавляя ключ, отвечающий за изменение политики безопасности CredSSP. Значение 2 устанавливает самый низкий уровень защиты.
- Перезагружаем устройство.
- Пробуем заново подключиться к серверу.
- Далее на сервере следует обязательно установить необходимые обновления безопасности.
- По завершении обновлений нужно вернуть начальные настройки безопасности, используя команду из шага №2. Только вместо 2 на конце, нужно ввести 0.
Решение №2. Windows Professional
Предложенное ниже решение подойдет тем пользователям, кто пользуется профессиональной версией Windows.
- Для начала открываем системное приложение «Редактор локальной групповой политики». Используем сочетание кнопок WIN+R и открываем
gpedit.msc
, используя поле ввода. - В открывшейся системе переходим в папку «Передача учетных данных» (Конфигурация компьютера → Административные шаблоны → Система → Передача учетных данных).
- Среди всех параметров выбранной папки ищем «Защита от атак с использованием криптографического оракула». Щелкаем по нему дважды.
- В открывшемся окне включаем использование выбранного параметра, а также устанавливаем такой же уровень защиты, как на картинке ниже.
- Перезагружаем устройство.
- Пробуем заново подключиться к серверу.
- Далее следует сразу перейти к установке всех обновлений безопасности.
- По завершении обновлений рекомендуется сразу возвратить параметр «Защита от атак с использованием криптографического оракула» в первоначальное состояние.
Заключение
Мы рассмотрели 2 популярные ошибки подключения по RDP. Это внутренняя ошибка подключения и ошибка при проверки подлинности. К каждой из ошибок мы подобрали решения, которые в большинстве случаев помогут пользователям исправить их.