開始輸入,可搜尋發票、服務、域名、工單,以及 更多...
Windows 遠端桌面預設使用 3389 埠,這個埠長期被掃描器和暴力破解工具盯著。修改遠端桌面埠是降低被掃描、減少登入失敗日誌最簡單的方法之一。本文介紹如何在 Windows Server 2016 / 2019 / 2022 上通過登錄檔 PortNumber 或 PowerShell 修改遠端桌面埠,正確放行 Windows 防火牆,並重啟遠端桌面服務使其生效。
建議選擇 10000–65535 之間、未被其他程式佔用的埠,例如 33890 或 52025。先在伺服器上確認該埠未被佔用:
netstat -ano | findstr :33890
沒有任何輸出即表示埠空閒。請避開 80、443、1433、3306 等常用服務埠,也不要使用 1024 以下的埠。本文以下示例均以 33890 為例,請替換為你自己的埠號。
以管理員身份開啟 PowerShell,為新埠新增 TCP 與 UDP 入站規則(遠端桌面會同時使用 UDP 加速傳輸):
New-NetFirewallRule -DisplayName "RDP-TCP-33890" -Direction Inbound -Protocol TCP -LocalPort 33890 -Action Allow
New-NetFirewallRule -DisplayName "RDP-UDP-33890" -Direction Inbound -Protocol UDP -LocalPort 33890 -Action Allow
如果伺服器上還有第三方安全軟體或你在網路層設定了訪問控制,也需要同步放行新埠。
遠端桌面埠儲存在登錄檔 HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp 下的 PortNumber 值中。使用 PowerShell 修改:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name PortNumber -Value 33890
Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name PortNumber
也可以使用 CMD 的 reg 命令完成同樣的修改:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber /t REG_DWORD /d 33890 /f
如果更習慣圖形介面,可執行 regedit 定位到上述路徑,雙擊 PortNumber,選擇“十進位制”後輸入新埠。
修改登錄檔後需要重啟遠端桌面服務(TermService),當前的遠端連線會斷開,這是正常現象:
Restart-Service TermService -Force
如果重啟服務失敗,可以直接重啟伺服器(Restart-Computer)。服務重啟後,在伺服器上確認新埠正在監聽:
netstat -ano | findstr :33890
在本地電腦先測試新埠是否可達,然後在遠端桌面客戶端(mstsc)中以“IP:埠”的格式連線,例如 203.0.113.10:33890:
Test-NetConnection 203.0.113.10 -Port 33890
mstsc /v:203.0.113.10:33890
確認新埠可正常登入後,可以停用預設的 3389 遠端桌面防火牆規則,進一步減少暴露面:
Disable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
登入客戶中心 → 我的產品與服務 → 選擇伺服器 → 管理,開啟 VNC 控制臺,檢查防火牆規則是否存在、PortNumber 是否為預期值,或將 PortNumber 改回 3389 後重啟 TermService。如找不到控制臺,可提交工單。
不需要。但如果你使用了遠端桌面閘道器、堡壘機或儲存了連線配置檔案(.rdp),請同步更新其中的埠號。
可以,登錄檔路徑和命令在 Windows 10/11 專業版上同樣適用。
如仍無法解決,請提交工單聯絡 IMIDC 7×24 技術支援,告知伺服器 IP 與修改後的埠,我們會協助排查。