必须同步修改注册表两处portnumber值(hkey_local_machine\system\currentcontrolset\control\terminalserver\wds\rdpwd\tds\tcp和winstations\rdp-tcp)、放行windows防火墙新端口规则、重启termservice服务,三者缺一不可,否则rdp连接失败。
远程桌面默认使用3389端口,直接暴露在公网容易被扫描和攻击。修改端口号是提升基础安全的有效方式,但必须改对两处注册表项,同时配套调整防火墙和网络策略,否则新端口无法连接。
需要修改的两个注册表位置
Windows远程桌面服务依赖两个关键注册表路径,缺一不可:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\Wds\rdpwd\Tds\tcp → 修改右侧 PortNumber 值(十进制)
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp → 同样修改右侧 PortNumber 值(十进制)
两个值必须完全一致,建议选1025–65535之间不常用、未被其他服务占用的端口,例如 5321 或 8947。避免使用知名端口(如80、443、22),也避开系统保留端口(1–1024)。
修改后必须放行新端口
仅改注册表不够,系统防火墙默认只允许3389入站。需手动启用新端口:
- 打开「控制面板 → Windows Defender 防火墙 → 高级设置」
- 在「入站规则」中找到名称含 RemoteDesktop-In-TCP 的规则(通常有多个,注意区分)
- 右键 → 「属性」→ 「协议和端口」选项卡 → 将「本地端口」从“3389”改为你的新端口号(如5321)
若找不到可编辑的规则,也可新建一条入站规则:协议类型TCP、特定本地端口、允许连接、作用域设为全部或按需限制。
云服务器或路由器环境要额外配置
如果你通过公网访问(比如阿里云、腾讯云ECS或家庭宽带):
- 云服务器:登录云平台控制台,在「安全组」中添加一条入站规则,放行你设置的新端口(TCP协议)
- 家用路由器:进入管理界面,在「端口映射 / 虚拟服务器」中新增映射,将外网端口(可与内网端口相同)指向目标电脑IP+新端口
否则即使本机一切正常,外部请求也会在第一道网关就被拦截。
验证与连接方式
重启「Remote Desktop Services」服务(可在「服务」管理器中右键重启),无需重启整机;之后用新端口连接:
- 在远程桌面客户端(mstsc)地址栏输入:IP地址:新端口号,例如 192.168.1.100:5321
- 连接成功后,可用命令确认:打开CMD,执行 netstat -ano | findstr :5321,应看到处于 LISTENING 状态的 TermService 进程
操作前建议先对系统盘创建快照或备份注册表,防止误改导致远程服务异常。











