如何在Windows Server 2016的Hyper-V中修改监听端口以RDP连接Debian 12虚拟机?
如何在Windows Server 2016的Hyper-V中修改监听端口以RDP连接Debian 12虚拟机?
兄弟,我太懂你这种之前用Kali顺风顺水,换Debian 12突然卡端口设置的闹心感了!其实你提到的2179端口是Hyper-V增强会话模式(Enhanced Session Mode)的默认监听端口,图形界面确实找不到修改入口,得靠PowerShell或者注册表来改,下面给你两种亲测有效的方法:
方法一:用PowerShell修改(推荐,操作更直观)
- 先右键开始菜单,打开管理员权限的PowerShell
- 先查一下当前Hyper-V的端口配置,心里有个数:
Get-VMHost | Select-Object EnhancedSessionTransportType, EnhancedSessionPort - 接下来修改成你想要的端口,比如改成2180(选个没被占用的就行):
Set-VMHost -EnhancedSessionPort 2180 - 改完必须重启Hyper-V服务才能生效,执行这条命令就行:
Restart-Service vmms -Force - 最后别忘了把Debian 12虚拟机的「集成服务」里的「远程桌面服务」勾上,然后生成新的RDP文件时,把
server port:i:2180填进去,同时替换pcb字段为Debian虚拟机的ID——这个ID可以用下面的命令获取:Get-VM "你的Debian虚拟机名称" | Select-Object Id
方法二:通过注册表修改(适合偏爱手动改配置的同学)
- 按
Win+R输入regedit打开注册表编辑器 - 定位到这个路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization - 找一下名为
EnhancedSessionPort的32位DWORD值,如果没有就右键新建一个 - 双击它,选择「十进制」,输入你想要的端口号,点确定
- 同样,改完后要重启Hyper-V服务(或者直接重启服务器更稳妥)
额外提醒
改完端口后,一定要在Windows Server 2016的防火墙里开放这个新端口,不然RDP连接会被拦下来,用这条PowerShell命令快速加规则:
New-NetFirewallRule -DisplayName "Hyper-V Enhanced Session Port" -Direction Inbound -Protocol TCP -LocalPort 2180 -Action Allow
备注:内容来源于stack exchange,提问作者MC9000




