远程桌面端口 3389 无法连接问题排查与解决方法
问题描述
在本地执行命令 `telnet 127.0.0.1 3389` 时,发现无法连接远程桌面端口,怀疑远程桌面服务未开启或端口未监听。
排查过程
1. 确认 Remote Desktop Services(TermService)服务已在运行。
2. 检查防火墙设置是否允许3389端口通过。或者直接关闭本地的防火墙。
3. 使用 `netstat -an | findstr :3389` 检查端口监听情况,发现端口未监听。
4. 检查注册表设置,发现如下项:
- 路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
- 键值:fDenyTSConnections = 1(表示拒绝远程桌面连接,对应Windows/系统属性/远程被禁用)
解决方案
1. 修改注册表键值:
- 路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server
- 将 `fDenyTSConnections` 的值从 1 改为 0,表示允许远程桌面连接。
2. 重启远程桌面服务:
- 命令:
net stop termservice
net start termservice
对应的Service:
3. 再次执行 `netstat -an | findstr :3389`,确认 3389 端口已开始监听。
4. 使用 `telnet 127.0.0.1 3389` 进行验证,已成功连接。
其它:
1. 查看端口号是否被修改。
默认值PortNumber(十进制)是否为3389。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
2. 确认系统中未禁用RDP服务组策略
Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
确保设置为 允许远程连接。
结论
本次问题由注册表设置阻止远程桌面连接导致。通过修改注册表 `fDenyTSConnections` 键值并重启服务后,问题已成功解决。