遠端桌面無法連線 Windows Server VPS:RDP 連線問題排查教學

8 分鐘閱讀 5 次閱讀 0
本文目錄

遠端桌面無法連線 Windows Server VPS 時,原因通常不外乎五種:通往 3389 連接埠的網路路徑、RDP 被停用、Windows 防火牆、NLA/CredSSP 驗證不相容,或帳號被鎖定。本篇 RDP 連線問題排查教學依序檢查每一項,適用 Windows Server 2016、2019、2022,不論您的 JUSTG 雲端伺服器位於約翰尼斯堡、莫斯科、東京或首爾都可參考。範例以 203.0.113.10 作為伺服器 IP,請改成您自己的位址。

修復 RDP 不一定要先能用 RDP。每台 JUSTG VPS 都有網頁版 VNC 主控台:登入客戶中心 → 我的產品與服務 → 選擇 VPS → 進入管理/控制面板開啟主控台。如找不到,可提交工單詢問。

步驟 1:從本機測試 RDP 3389 連接埠

先從外部確認。若 TCP 測試失敗,代表網路路徑有問題或伺服器沒有在監聽;若測試成功但登入失敗,請直接跳到步驟 4。

# On your own Windows PC (PowerShell)
Test-NetConnection -ComputerName 203.0.113.10 -Port 3389

# On macOS / Linux
nc -vz 203.0.113.10 3389

看到 TcpTestSucceeded : True 表示連接埠是通的。若為 False,請先在客戶中心確認 VPS 正在執行、能否 ping 通,並檢查您自己公司或網路業者是否封鎖對外 3389;可以改用手機熱點再測一次。

步驟 2:確認遠端桌面已啟用並在監聽

開啟 VNC 主控台登入後,以系統管理員身分執行 PowerShell。檢查 Remote Desktop Services(TermService)服務狀態、fDenyTSConnections 值(0 為允許 RDP,1 為封鎖),以及 RDP 實際監聽的連接埠:

Get-Service -Name TermService
Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections
Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name PortNumber
Get-NetTCPConnection -LocalPort 3389 -State Listen

如果之前有人改過 RDP 連接埠,PortNumber 會顯示新的值,連線時必須使用 IP:連接埠。若 RDP 被停用或服務已停止,可用以下指令重新開啟:

Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0
Set-Service -Name TermService -StartupType Automatic
Start-Service -Name TermService

步驟 3:修正遠端桌面的 Windows 防火牆規則

安全強化腳本或手動清理規則,常常會把內建的遠端桌面規則停用。中文版 Windows 的規則群組顯示名稱已被翻譯,因此建議使用以資源 ID 表示的群組名稱,任何語言版本都通用:

# Language-independent group name for the built-in Remote Desktop rules
Enable-NetFirewallRule -Group "@FirewallAPI.dll,-28752"
Get-NetFirewallRule -Group "@FirewallAPI.dll,-28752" | Select-Object DisplayName, Enabled, Profile

# If the built-in rules were deleted, create one manually
New-NetFirewallRule -DisplayName "Allow RDP 3389" -Direction Inbound -Protocol TCP -LocalPort 3389 -Action Allow

若已變更 RDP 連接埠,請開放新的連接埠而不是 3389。完成後回到步驟 1 重新測試,TCP 測試應該會成功。

步驟 4:排除 NLA 與 CredSSP 驗證錯誤

連接埠通了,用戶端卻出現「發生驗證錯誤……CredSSP 加密 Oracle 補救」或與 NLA 相關的訊息,通常是用戶端與伺服器的更新版本不一致。正確作法是透過 VNC 主控台在伺服器上安裝 Windows Update,同時更新您的電腦。暫時的應急方式是先關閉伺服器的網路層級驗證(NLA),登入完成更新後再開回來:

# Temporary: turn off Network Level Authentication (run in the VNC console)
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 0

# Turn it back on after the server is fully updated
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -Name UserAuthentication -Value 1
關閉 NLA 會讓登入畫面直接暴露在網際網路上。更新完成後請立即重新啟用,並使用高強度密碼。

步驟 5:帳號鎖定與「工作階段過多」

對外開放的 RDP 常被自動化程式嘗試猜密碼,若伺服器設有鎖定原則,帳號可能被暫時鎖住。在 VNC 主控台中查看原則與帳號狀態,並列出目前的工作階段。Windows Server 預設只允許兩個管理工作階段,可依 ID 登出殘留的連線:

net accounts
net user Administrator
qwinsta
logoff 2

若本機帳號顯示為鎖定,可開啟 lusrmgr.msc,在使用者內容中取消勾選「帳戶已鎖定」,或等待 net accounts 顯示的鎖定期間結束。想減少暴力破解,可以把 RDP 改到非預設連接埠,並將防火牆規則限制為只允許您自己的 IP。

常見問題

可以 ping 通,遠端桌面卻還是無法連線?

ping 只代表 ICMP 能到達伺服器,RDP 需要 TCP 3389(或您自訂的連接埠)正在監聽且被防火牆放行。請透過 VNC 主控台執行步驟 2 與步驟 3。

昨天還能連,Windows Update 重新開機後就連不上?

重新開機後請稍等幾分鐘,大型更新可能會停在「正在處理更新」畫面,可以從 VNC 主控台觀察進度。若之後用戶端出現 CredSSP 錯誤,請一併更新您本機的電腦。

可以用 IPv6 連線到 JUSTG 的 Windows VPS 嗎?

可以。所有 JUSTG 雲端伺服器都免費提供 IPv6,在伺服器設定好後,於遠端桌面用戶端輸入以中括號包住的位址即可,例如 [2001:db8::10]。

完成以上檢查仍然無法連線,請提交工單聯絡 JUSTG 技術支援,並附上步驟 1 與步驟 2 的輸出結果,我們會協助您進一步排查。

这篇文章有帮助吗?

相關教學

Windows PowerShell PS> Get-ItemProperty -Path 'HKLM:\SYSTEM\CurrentC…PS> Get-NetTCPConnection -LocalPort 40125 -ErrorA…PS> $port = 40125 Windows 伺服器 如何修改 Windows Server 遠端桌面 RDP 連接埠(3389) 用 PowerShell 修改 Windows Server 遠端桌面 RDP 連接埠:登錄檔 PortNumber、防火牆規則、重啟服務與安全還原。 7 分鐘閱讀 7 閱讀教學 Windows PowerShell PS> Get-WinSystemLocalePS> Get-WinUILanguageOverridePS> Get-WinUserLanguageList Windows 伺服器 Windows Server 變更顯示語言、系統地區設定與時區(2016/2019/2022) 用 Install-Language 或語言套件變更 Windows Server 顯示語言,並設定系統地區(解決亂碼)、使用者語言與時區。 7 分鐘閱讀 2 閱讀教學 Windows PowerShell PS> Update-HostStorageCachePS> Get-Disk | Select-Object Number, FriendlyName…PS> Get-Partition -DiskNumber 0 | Select-Object P… Windows 伺服器 Windows Server 擴充 C 槽:升級硬碟後延伸磁碟區與初始化新資料硬碟 VPS 升級硬碟後擴充 Windows Server C 槽,處理擋住延伸的修復磁碟分割,並初始化與格式化新資料硬碟。 7 分鐘閱讀 2 閱讀教學 Windows PowerShell PS> Get-NetAdapterPS> Get-NetIPConfiguration -InterfaceAlias "Ether…PS> Get-NetIPInterface -InterfaceAlias "Ethernet"… Windows 伺服器 Windows Server 新增額外 IPv4 位址與設定 IPv6 教學 Windows Server 新增額外 IPv4 並設定 IPv6:PowerShell/netsh、SkipAsSource、閘道、DNS 與連線測試。 8 分鐘閱讀 7 閱讀教學