Не удается подключиться по RDP к Windows Server VPS: диагностика удаленного рабочего стола

13 мин чтения 3 просмотров 0
Содержание

Если не удается подключиться к удаленному рабочему столу Windows Server VPS, причина почти всегда в одном из пяти мест: сетевой путь до порта 3389, отключенный RDP, брандмауэр Windows, несовпадение проверки подлинности NLA/CredSSP или заблокированная учетная запись. В этом руководстве по диагностике RDP мы проверим их по порядку. Инструкция подходит для Windows Server 2016, 2019 и 2022 на любом облачном сервере JUSTG — в Йоханнесбурге, Москве, Токио или Сеуле. В примерах IP сервера — 203.0.113.10, замените его своим.

Чтобы починить RDP, сам RDP не нужен. У каждого VPS JUSTG есть VNC-консоль в браузере: войдите в клиентскую зону → Мои продукты и услуги → выберите VPS → откройте панель управления и запустите консоль. Если не нашли ее, создайте тикет — подскажем.

Шаг 1: Проверьте порт RDP 3389 со своего компьютера

Начинаем снаружи. Если TCP-проверка не проходит, проблема в сетевом пути или сервер не слушает порт; если проходит, но вход не удается, переходите к шагу 4.

# On your own Windows PC (PowerShell)
Test-NetConnection -ComputerName 203.0.113.10 -Port 3389

# On macOS / Linux
nc -vz 203.0.113.10 3389

TcpTestSucceeded : True означает, что порт доступен. Если False, убедитесь в клиентской зоне, что VPS запущен и отвечает на ping. Проверьте и собственную сеть: корпоративные брандмауэры иногда блокируют исходящий 3389, поэтому попробуйте подключиться через мобильный интернет.

Шаг 2: Убедитесь, что удаленный рабочий стол включен и слушает порт

Откройте VNC-консоль, войдите в систему и запустите PowerShell от имени администратора. Проверьте службу Remote Desktop Services (TermService), значение fDenyTSConnections (0 — RDP разрешен, 1 — запрещен) и порт, на котором реально работает RDP:

Get-Service -Name TermService
Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections
Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber
Get-NetTCPConnection -LocalPort 3389 -State Listen

Если порт RDP ранее меняли, PortNumber покажет новое значение, и подключаться нужно как IP:порт. Если RDP отключен или служба остановлена, включите их снова:

Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0
Set-Service -Name TermService -StartupType Automatic
Start-Service -Name TermService

Шаг 3: Исправьте правило брандмауэра Windows для RDP

Скрипты усиления безопасности или ручная чистка правил часто отключают встроенные правила удаленного рабочего стола. В русской версии Windows имя группы переведено, поэтому используйте идентификатор группы на основе ресурса — он работает на любом языке:

# Language-independent group name for the built-in Remote Desktop rules
Enable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
Get-NetFirewallRule -Group "@FirewallAPI.dll,-28752" | Select-Object DisplayName, Enabled, Profile

# If the built-in rules were deleted, create one manually
New-NetFirewallRule -DisplayName "Allow RDP 3389" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow

Если порт RDP изменен, откройте его вместо 3389. Повторите шаг 1 — теперь TCP-проверка должна пройти успешно.

Шаг 4: Устраните ошибки проверки подлинности NLA и CredSSP

Если порт открыт, а клиент пишет «Произошла ошибка проверки подлинности… исправление шифрования CredSSP» или сообщает об NLA, значит у клиента и сервера разный уровень обновлений. Правильное решение — установить обновления Windows на сервер через VNC-консоль и на свой компьютер. Временный обходной путь — отключить проверку подлинности на уровне сети (NLA) на сервере, войти, обновиться и снова ее включить:

# Temporary: turn off Network Level Authentication (run in the VNC console)
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 0

# Turn it back on after the server is fully updated
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1
С отключенной NLA экран входа открыт для всего интернета. Включите ее сразу после установки обновлений и используйте надежный пароль.

Шаг 5: Блокировка учетной записи и «слишком много сеансов»

Открытый в интернет RDP постоянно атакуют боты, подбирающие пароли, и политика блокировки может закрыть вход для вашей учетной записи. В VNC-консоли проверьте политику, состояние учетной записи и активные сеансы. По умолчанию Windows Server допускает два административных сеанса — завершите зависший по его ID:

net accounts
net user Administrator
qwinsta
logoff 2

Если локальная учетная запись заблокирована, откройте lusrmgr.msc, зайдите в свойства пользователя и снимите флажок «Заблокировать учетную запись» либо дождитесь окончания срока блокировки, который показывает net accounts. Чтобы снизить число атак, перенесите RDP на нестандартный порт и ограничьте правило брандмауэра своими IP-адресами.

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

Ping проходит, а удаленный рабочий стол все равно не подключается. Почему?

Ping подтверждает лишь доставку ICMP. Для RDP нужно, чтобы TCP 3389 (или ваш порт) прослушивался и был разрешен брандмауэром. Выполните шаги 2 и 3 через VNC-консоль.

Вчера RDP работал, а после перезагрузки Windows Update перестал.

Подождите несколько минут после перезагрузки: крупные обновления могут долго висеть на экране «Работа с обновлениями», за этим удобно следить через VNC-консоль. Если затем появляется ошибка CredSSP, обновите и свой компьютер.

Можно ли подключаться к Windows VPS JUSTG по IPv6?

Да. Все облачные серверы JUSTG получают IPv6 бесплатно. После настройки адреса на сервере введите его в клиенте RDP в квадратных скобках, например [2001:db8::10].

Если после всех проверок подключиться по RDP так и не удалось, создайте тикет в техподдержку JUSTG и приложите вывод команд из шагов 1 и 2 — мы поможем разобраться.

Помог ли вам данный ответ?

Похожие руководства

Windows PowerShell PS> Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentC…PS> Get-NetTCPConnection -LocalPort 40125 -ErrorA…PS> $port = 40125 Windows Server Как изменить порт RDP (удаленного рабочего стола) в Windows Server Смена порта RDP 3389 в Windows Server через PowerShell: PortNumber в реестре, правила брандмауэра, перезапуск TermService и откат. 12 мин чтения 7 Читать Windows PowerShell PS> Get-WinSystemLocalePS> Get-WinUILanguageOverridePS> Get-WinUserLanguageList Windows Server Как сменить язык интерфейса Windows Server, системный языковой стандарт и часовой пояс Смена языка интерфейса Windows Server через Install-Language или языковой пакет, настройка языкового стандарта и часового пояса. 12 мин чтения 2 Читать Windows PowerShell PS> Update-HostStorageCachePS> Get-Disk | Select-Object Number, FriendlyName…PS> Get-Partition -DiskNumber 0 | Select-Object P… Windows Server Как расширить диск C: в Windows Server после увеличения диска и инициализировать новый диск Расширение диска C: в Windows Server после апгрейда, удаление мешающего раздела восстановления и инициализация нового диска. 12 мин чтения 2 Читать Windows PowerShell PS> Get-NetAdapterPS> Get-NetIPConfiguration -InterfaceAlias "Ether…PS> Get-NetIPInterface -InterfaceAlias "Ethernet"… Windows Server Как добавить дополнительный IPv4 и настроить IPv6 в Windows Server Добавление IPv4 и настройка IPv6 в Windows Server через GUI, PowerShell и netsh: SkipAsSource, шлюз, DNS и проверка связи. 14 мин чтения 7 Читать