遠(yuǎn)程連接Windows系統(tǒng)的ECS實(shí)例時(shí)提示協(xié)議錯(cuò)誤
發(fā)布時(shí)間:2021-04-25 點(diǎn)擊數(shù):652
問題描述
遠(yuǎn)程連接Windows系統(tǒng)的ECS實(shí)例時(shí),提示協(xié)議錯(cuò)誤。具體的報(bào)錯(cuò)如下:
由于協(xié)議錯(cuò)誤,會(huì)話將被中斷。請重新連接到遠(yuǎn)程計(jì)算機(jī)。
問題原因
可能導(dǎo)致該問題的部分原因如下:
-
原因一
目標(biāo)實(shí)例的遠(yuǎn)程會(huì)話配置錯(cuò)誤。當(dāng)遠(yuǎn)程會(huì)話配置錯(cuò)誤,遠(yuǎn)程連接時(shí)會(huì)出現(xiàn)協(xié)議錯(cuò)誤的提示。 -
原因二
目標(biāo)實(shí)例的遠(yuǎn)程連接端口被其他應(yīng)用占用。Windows系統(tǒng)默認(rèn)遠(yuǎn)程桌面連接端口號為3389,當(dāng)該端口被其他程序占用時(shí),遠(yuǎn)程連接服務(wù)將無法正常運(yùn)行。
解決方案
阿里云提醒您:
- 如果您對實(shí)例或數(shù)據(jù)有修改、變更等風(fēng)險(xiǎn)操作,務(wù)必注意實(shí)例的容災(zāi)、容錯(cuò)能力,確保數(shù)據(jù)安全。
- 如果您對實(shí)例(包括但不限于ECS、RDS)等進(jìn)行配置與數(shù)據(jù)修改,建議提前創(chuàng)建快照或開啟RDS日志備份等功能。
- 如果您在阿里云平臺(tái)授權(quán)或者提交過登錄賬號、密碼等安全信息,建議您及時(shí)修改。
不同問題原因?qū)?yīng)的解決方案不同,您可以根據(jù)現(xiàn)場實(shí)際情況選擇對應(yīng)的問題原因及解決方案。
說明:本文中的操作步驟以Windows Server 2016版本為例。
原因一:目標(biāo)實(shí)例的遠(yuǎn)程會(huì)話配置錯(cuò)誤
處理步驟如下:
- 使用VNC登錄Windows實(shí)例。
- 單擊開始,輸入gpedit.msc。單擊Enter按鈕,打開本地組策略編輯器。
- 在本地組策略編輯器窗口中,依次單擊計(jì)算機(jī)配置>管理模板>Windows 組件>遠(yuǎn)程桌面服務(wù)>遠(yuǎn)程桌面會(huì)話主機(jī)>安全計(jì)算機(jī)配置。
-
在安全目錄中,雙擊遠(yuǎn)程(RDP)連接要求使用指定的安全層。
-
選擇已啟用 ,在安全層選項(xiàng)中選擇RDP,單擊確定。
- 單擊開始,輸入cmd,單擊Enter按鈕,打開命令行。
-
執(zhí)行以下命令,完成策略更新,使以上的設(shè)置生效。
gpupdate
- 重試遠(yuǎn)程連接,確認(rèn)問題已經(jīng)修復(fù)。
原因二:目標(biāo)實(shí)例的遠(yuǎn)程連接端口被其他應(yīng)用占用
如果目標(biāo)實(shí)例的遠(yuǎn)程連接端口被其他應(yīng)用占用,您可以從下列兩種解決方案中選擇其一。
方案一:修改遠(yuǎn)程連接端口號
參考下列步驟,修改遠(yuǎn)程連接的端口號,然后使用新的端口號重試遠(yuǎn)程連接:
- 使用VNC登錄Windows實(shí)例。
- 單擊開始,輸入regedit,單擊Enter按鈕,打開注冊表編輯器。
-
依次進(jìn)入以下目錄。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
-
雙擊RDP-Tcp目錄中名稱為PortNumber的注冊表項(xiàng)。
-
在編輯頁面,選擇基數(shù)選項(xiàng)中的十進(jìn)制,修改數(shù)值數(shù)據(jù)中的值,該值即為遠(yuǎn)程桌面使用的端口號。
說明:修改遠(yuǎn)程桌面默認(rèn)端口時(shí),請根據(jù)現(xiàn)場情況選擇合適的TCP端口號。
說明:圖中的3389端口號為遠(yuǎn)程連接的默認(rèn)端口號,僅作為示例。
- 重啟Windows系統(tǒng)或重啟該ECS實(shí)例。
方案二:關(guān)閉占用遠(yuǎn)程連接端口的應(yīng)用進(jìn)程
參考下列步驟,關(guān)閉正在占用遠(yuǎn)程連接端口的應(yīng)用進(jìn)程,以釋放端口號,然后重試遠(yuǎn)程連接:
- 使用VNC登錄Windows實(shí)例。
- 單擊開始,輸入cmd,單擊Enter按鈕,打開命令行。
-
執(zhí)行以下命令,獲取占用遠(yuǎn)程連接端口的進(jìn)程號(PID)。
netstat -ano |findstr 3389
說明:此處以遠(yuǎn)程連接默認(rèn)端口號3389為例,現(xiàn)場需要以實(shí)際情況為準(zhǔn)。
-
執(zhí)行以下命令,根據(jù)PID查看進(jìn)程對應(yīng)的應(yīng)用程序。正常情況下,遠(yuǎn)程連接端口被svchost.exe進(jìn)程占用。
tasklist |findstr [$PID]
說明:[$PID]指上一步獲取的PID。
-
如果遠(yuǎn)程連接端口被svchost.exe之外的進(jìn)程占用,則表明遠(yuǎn)程連接端口的確被其他應(yīng)用所占用。您可以執(zhí)行以下命令,根據(jù)PID關(guān)閉指定的進(jìn)程,釋放被占用的遠(yuǎn)程連接端口。
警告:關(guān)閉進(jìn)程屬于風(fēng)險(xiǎn)操作,請確保關(guān)閉進(jìn)程后不影響業(yè)務(wù)運(yùn)行,方可執(zhí)行此操作。