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