帮助中心

服务器、网络和账户的分步教程。

Windows 服务器

如何修改 Windows Server 远程桌面 RDP 端口(3389)

如何修改 Windows Server 远程桌面 RDP 端口(3389)

把远程桌面从默认的 TCP 3389 移到其他端口,是减少公网 Windows 服务器被自动化程序不停尝试登录最快速的方法之一。本文说明如何用 PowerShell 修改 Windows Server RDP 端口(适用 2016、2019、2022),在切换前先于 Windows 防火墙开放新端口,万一出错也能通过 VNC 控制台安全还原。JUSTG 位于东京、首尔、莫斯科的云服务器以及 JUSTG 独立服务器皆适用。示例使用端口 40125、服务器 IP 203.0.113.10。

修改端口可以减少扫描流量,但不能取代高强度密码、网络级身份验证(NLA)与定期更新。

步骤 1:为远程桌面选择未被使用的端口

请在 1025 到 49151 之间挑一个没有其他程序使用的号码。49152–65535 是 Windows 对外连接使用的动态范围,建议避开。先确认目前的 RDP 端口,再确认新端口没有被占用(第二行命令应该没有任何输出):

Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber
Get-NetTCPConnection -LocalPort 40125 -ErrorAction SilentlyContinue

开始之前,先在另一个浏览器标签页打开 VNC 控制台:登录客户中心 → My Services(我的服务)→ 打开该 VPS(Product Details 页面)→ 在“Server Information”标签页的 VPS 面板中点击“VNC”。同一个 VNC 控制台也可在 Enduser Panel 中打开(Manage 卡片 → Virtualizor → “Enduser Panel”)。新端口若连不上,就靠它回到系统。

步骤 2:先在 Windows 防火墙开放新的 RDP 端口

一定要先放行新端口再改注册表,否则重启远程桌面服务后就会被挡在门外。RDP 通过 TCP 传输会话,并使用 UDP 改善高延迟网络下的体验,所以两条规则都要创建:

$port = 40125
New-NetFirewallRule -DisplayName "RDP custom TCP $port" -Direction Inbound -Protocol TCP -LocalPort $port -Action Allow
New-NetFirewallRule -DisplayName "RDP custom UDP $port" -Direction Inbound -Protocol UDP -LocalPort $port -Action Allow

若服务器前面还有其他防火墙(例如独立服务器的硬件防火墙),也要在那里开放相同的端口。

步骤 3:修改注册表 PortNumber 并重新启动 TermService

RDP 监听的端口记录在 RDP-Tcp 注册表项的 PortNumber 值。修改后重新启动 Remote Desktop Services 服务;因为 UmRdpService 依赖于它,必须加上 -Force:

$port = 40125
Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value $port
Restart-Service -Name TermService -Force
重新启动 TermService 会立刻中断目前的 RDP 连接,这是正常现象。运行后等待约 10 秒,再用新的端口重新连接。

步骤 4:以“IP:端口”连接并验证

在远程桌面客户端输入服务器地址,后面加上冒号与端口。也可以在 PowerShell 一次完成测试并打开客户端:

# On the server (VNC console or new RDP session)
Get-NetTCPConnection -LocalPort 40125 -State Listen

# On your PC
Test-NetConnection -ComputerName 203.0.113.10 -Port 40125
mstsc /v:203.0.113.10:40125

若使用 IPv6,请把地址放进方括号:[2001:db8::10]:40125。别忘了更新已保存的 .rdp 文件、密码管理工具与同事的连接设置。

步骤 5:关闭 3389 并限制来源

确认能用新端口登录后,停用默认的远程桌面规则,让 3389 不再对外开放;也可以把新规则限制为只允许公司的 IP 范围:

# Built-in Remote Desktop rules (language-independent group ID)
Disable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"

# Optional: only allow your own IP to reach the new port
Set-NetFirewallRule -DisplayName "RDP custom TCP 40125" -RemoteAddress 198.51.100.0/24

步骤 6:被锁在外面时通过 VNC 控制台还原

如果新端口无法连接,请打开 VNC 控制台登录,然后还原默认设置:

Set-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber -Value 3389
Enable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
Restart-Service -Name TermService -Force

几秒钟后远程桌面就会回到 3389。接着再仔细重做步骤 2 到 4,特别留意端口号是否打错,以及外部防火墙是否已放行。

常见问题

修改 RDP 端口后需要重启吗?

不需要,重新启动 TermService 服务就会生效。若服务无法重启,直接重启也可以。

已经改了端口,RDP 却仍在 3389 监听?

请确认是否有组策略或远程管理工具把值改回去,并确认修改的是 RDP-Tcp 注册表项而不是其他 WinStation。之后再运行一次步骤 4 的验证命令。

自定义 RDP 端口会影响从中国或非洲连接的速度吗?

不会。延迟取决于路由,与端口号无关。JUSTG 只有莫斯科机房使用中国电信 CN2 GIA,东京、首尔与约翰内斯堡机房使用亚洲优化线路,不论 RDP 走哪个端口都一样。

修改端口后仍无法连上远程桌面,请提交工单联系 JUSTG 技术支持,并附上您选择的端口与步骤 4 的输出结果。

这篇文章有帮助吗?
帮助中心
Windows 服务器 远程桌面无法连接 Windows Server VPS:RDP 连接问题排查教程 远程桌面无法连接 Windows Server VPS 时,原因通常不外乎五种:通往 3389 端口的网络路径、RDP 被停用、Windows 防火墙、NLA/CredSSP 验证不兼容,或账号被锁定。本篇 RDP 连接问题排查教程依序检查每一项,适用 Windows… Windows 服务器 Windows Server 变更显示语言、系统区域设置与时区(2016/2019/2022) Windows Server 镜像多半以英文安装,但不少团队习惯使用自己的语言操作,而且旧版应用程序通常需要正确的系统区域设置,才能正常显示中文、日文或俄文而不出现乱码。本文说明如何在 Windows Server 2016、2019、2022 上变更 Windows… Windows 服务器 Windows Server 扩展 C 盘:升级硬盘后扩展卷与初始化新数据盘 在客户中心的服务详情页把 JUSTG Windows VPS 升级到 SSD 更大的套餐,或服务器添加了新硬盘之后,Windows 并不会自动使用新空间:它会以磁盘末尾的“未分配”空间,或一块全新的未初始化硬盘出现。本文说明如何在 Windows Server… Windows 服务器 Windows Server 添加额外 IPv4 地址与设置 IPv6 教程 每台 JUSTG 云服务器都附 1 个 IPv4,并免费提供 IPv6。若您的服务器已分配额外 IPv4(可提交工单由技术支持添加),或想启用 VPS 分配到的 IPv6,Windows 不会自动为您配置。本文说明如何在 Windows Server…
AlipayUnionPayVISAMastercardPayPalUSDTstripe