◇閩北職業技術學院 吳碧霞
云主機具有擴展性好、安全可靠、性價比高等優點,被越來越多的中小企業利用云主機來快速搭建系統業務環境,網絡管理員經常通過遠程桌面功能操作云主機計算機,在上面安裝軟件,運行程序,在實際應用中有時會發現無法正常遠程桌面登錄,該現象涉及云側和客戶操作系統內多種原因。本文針對云主機無法通過遠程桌面連接各種問題和原因進行多維度定位分析,形成相關解決辦法思路,可以在故障處理中快速應用,提升故障處置效率。
云主機是阿里云、天翼云、百度云等新一代的云業務運營商提供的主機租用服務,云業務運營商將高性能服務器的計算、存儲與優質網絡帶寬資源的IT基礎設施能力進行整合,有效解決了傳統主機建設運營成本偏高導致租用價格偏高、專業化標準不一、服務品質參差不齊等缺點,具有擴展性好、安全可靠、性價比高等優點,可全面滿足中小企業、個人站長等用戶對主機租用服務低租用成本,高可靠性能,業務方便管理的需求,能提供基于云計算模式的按實際需求使用量和按業務需求量付費能力的服務器租用服務,被越來越多的中小企業用來快速搭建系統業務環境。云主機客戶的網絡管理員經常使用遠程桌面來操作本地計算機或服務器,在上面安裝軟件、運行程序、管理維護數據庫等。遠程桌面功能是微軟公司推出的從windows 2000 server版本開始引入一項服務,網絡管理員使用遠程桌面功能連接程序可以很方便地連接到網絡上任意一臺開啟了遠程桌面控制功能的計算機上,和自己現場操作該計算機沒有區別。云主機客戶的網絡管理員對云主機也需要同樣的功能,在實際應用中有時會發現無法正常遠程桌面登錄,該現象涉及云側和客戶操作系統內多種原因,本文對此進行多維度定位分析,并提出相應的解決辦法。
(1)首先通過VNC登錄查看服務器狀態是否正常,如不正??陕撓翟乒具M一步排查,如正常進行下一步。
(2)檢查安全組是否添加遠程服務端口,windows默認遠程端口為3389,如未添加,可添加后重試,如已添加,進行下一步。
(3)在本地測試是否可以遠程,如可以遠程連接,則需客戶排查客戶端問題,如無法遠程連接,進行下一步。
(4)vnc登錄查看服務器內部遠程服務是否開啟,端口是否修改,防火墻是否開啟,是否存在安全軟件、安全狗、360等。
通過以下步驟操作查看Windows服務器的系統是否開啟了遠程桌面服務:①使用控制臺遠程連接功能登錄到Windows實例;②右鍵單擊我的電腦,選擇屬性>高級系統設置。在系統屬性窗口,選擇點擊遠程選項卡,查看允許運行任意版本遠程桌面的計算機連接是否勾選,如沒有勾選點擊勾選即可。
新購的Windows 2012實例,首次連接服務器正常。連接服務器并激活系統后,會提示是否要在此網絡上查找電腦等設備并自動連接,用戶此時如果單擊否,服務器就會自動開啟公網的防火墻,導致連接直接斷開??蓢L試通過以下步驟解決:
(1)使用控制臺遠程連接功能登錄到Windows實例。
(2)在菜單欄選擇開始→控制面板→Windows 防火墻。
(3)在Windows 防火墻窗口,單擊高級設置→入站規則,在右側拉至最下方,右鍵單擊遠程桌面-用戶模式(TCP-In),選擇啟動規則。
(4)返回上一個頁面,單擊Windows 防火墻屬性,選擇啟用(推薦),單擊應用。注意將域配置文件、專用配置文件、公用配置文件選項卡下的全部防火墻都啟用。
為了提高系統安全性,用戶錯誤的將遠程桌面服務所依賴的某些關鍵服務禁用,從而導致遠程桌面服務異常。解決方法步驟如下:
(1)使用控制臺遠程連接功能登錄到Windows實例。
(2)選擇開始→運行。輸入msconfig,單擊確定運行系統配置。
(3)在系統配置的窗口中,選擇常規選項卡,選擇正常啟動,然后重啟服務器,即可解決。
要判斷是本地網絡問題還是服務器端的網絡問題,可以通過ping和telnet命令,檢查服務器公網IP及3389端口的連通性來判定,同時可以用不同網段或不同運營商等其他網絡環境中的電腦連接來對比測試,以判斷是否為本地網絡受限。
ECS的安全組規則中默認放行3389端口,如果修改了遠程桌面的端口,則需要在安全組規則中放行修改后的相應端口號,登錄方式改變或者ECS安全組規則中未放行修改后的端口號,會導致無法連接Windows實例遠程桌面。
終端服務器角色未配置授權導致無法正常遠程連接的原因可能有以下兩種:
(1)Windows服務器正常情況下默認提供兩個用戶的免費遠程桌面管理授權,由于終端服務配置了RDP-TCP限制每個用戶只能進行一個會話,該賬號有其他人在登錄,所以其他會話無法建立。如果有更多的連接需求,則需要配置遠程桌面會話主機服務器角色,同時購買和配置相應的授權后,才可以使用更多的遠程桌面管理并發。
(2)在系統內安裝了遠程桌面會話主機角色,此功能免費試用120天,之后需要進行付費,如果沒有付費會造成無法通過管理終端連接。在配置遠程桌面會話主機角色后,會同時取消默認兩個用戶的免費連接授權,在沒有正確配置相關授權的時候,會導致遠程桌面無法連接,并出現錯誤提示。
根據上述兩種實際情況,可參考以下兩種解決方法。
一是取消RDP-TCP限制每個用戶只能進行一個會話,具體操作步驟如下:①通過管理終端連接Windows實例。②選擇開始→運行,在打開框中輸入gpedit.msc,單擊確定,運行組策略編輯器。③進入本地組策略編輯器頁面,選擇計算機配置→管理模板→Windows 組件,雙擊遠程桌面服務。④雙擊遠程桌面會話主機→連接。⑤單擊限制連接的數量,在彈出的窗口中,選擇已啟用,在允許RD 最大連接數框中,輸入需要的最大連接數,單擊確定。⑥選擇開始→運行,在打開框中輸入cmd,打開命令行,執行命令gpupdate。
二是安裝遠程桌面會話主機導致無法遠程Windows服務器,請參考如下兩種解決方法:
方法一:配置遠程桌面會話主機服務器后,在微軟官網購買和配置相應的證書授權,參閱微軟官方文檔相關方法操作。
方法二:刪除遠程桌面會話主機角色,參考以下步驟對不同版本的Windows服務器進行配置,使用默認兩個用戶的免費連接授權。
Windows 2012操作系統:①通過管理終端連接Windows實例。②選擇開始→運行,在打開框中輸入servermanager.msc,單擊確定。③進入服務器管理器頁面,選擇管理→刪除角色和功能。④進入刪除功能和角色頁面→下一步→下一步。⑤在角色框中,取消勾選遠程桌面服務,其它配置默認,單擊下一步。⑥在實例內重啟。
Windows 2008操作系統:①通過管理終端連接Windows實例。②選擇開始→運行,在打開框中輸入servermanager.msc,單擊確定。③進入服務器管理頁面→角色,右鍵單擊遠程桌面服務,選擇刪除角色服務。④在彈出窗口中,取消勾選遠程桌面會話主機→下一步,等待配置完成。⑤在實例內重啟該實例。
無論是Windows實例還是Linux實例,錯誤配置監聽端口會導致遠程桌面服務監聽失敗,將端口重新修改為0~65535之間未被占用的端口即可解決,修改端口的具體操作方法如下:
(1)遠程連接并登錄到Windows 實例。
(2)運行regedit.exe打開注冊表編輯器。
(3)找到如下注冊表子項:HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsRDP-TcpPortNumber。
(4)在彈出的對話框中選擇十進制,在數值數據中輸入新的遠程端口號,如3799,單擊確定。
(5)如果開啟了防火墻,還需要將新的端口號添加到防火墻,并設置允許連接。
(6)登錄管理控制臺,重啟該實例。
(7)在安全組列表頁面,找到相應的安全組,單擊配置規則。
(8)根據實際的使用場景來定義安全規則,在安全組規則頁面,單擊添加安全組規則,允許新配置的遠程端口進行連接。
(9)以上步驟完成后,在遠程地址后面添加新遠程端口號,例如192.168.1.2:3799,即可連接實例,遠程訪問服務器。
由于以下兩種遠程終端服務的配置異??赡軐е聼o法連接Windows實例遠程桌面:
異常1:服務器側自簽名證書損壞??蛻舳巳绻荳indows 7以上版本的系統,會嘗試與服務器建立TLS連接。若服務器側用于TLS連接的自簽名證書損壞,則會導致遠程連接失敗。
解決該異常步驟:
(1)使用控制臺遠程連接功能登錄到Windows實例。
(2)選擇開始→管理工具→遠程桌面服務,然后雙擊打開遠程桌面會話主機配置
(3)選擇RDP-Tcp。在RDP-Tcp屬性窗口將安全層修改成RDP安全層。
(4)在操作欄先禁用連接,再啟用連接即可。
異常2:遠程桌面會話主機配置連接被禁用。使用netstat命令查詢,發現端口未正常監聽。使用控制臺遠程連接功能登錄到Windows實例后,發現遠程桌面RDP連接屬性配置文件被禁用。解決方法參考服務器側自簽名證書損壞找到RDP連接屬性配置文件,如果RDP-Tcp被禁用,單擊啟用連接即可。
可以查看Windows服務器上是否有阻止遠程桌面連接的相關安全策略。具體操作步驟如下:
(1)使用控制臺遠程連接功能登錄到Windows實例。
(2)選擇開始→控制面板→管理工具,雙擊本地安全策略。
(3)在彈出的窗口中,單擊IP 安全策略,查看是否有相關的安全策略。
(4)如果有,右鍵單擊相關策略,選擇刪除,或雙擊該IP的安全策略來重新配置以允許遠程桌面連接,然后使用再遠程桌面連接。
無法連接遠程桌面可能是由于第三方殺毒軟件設置導致。此處列舉兩個安全狗配置導致遠程訪問失敗的案例。
案例1:安全狗程序異常。
使用控制臺遠程連接功能登錄到Windows實例后,安全狗軟件出現異常,在系統桌面右下角彈出錯誤提示。通過Windows系統卸載安全狗軟件后,重啟服務器,網絡即可恢復。
案例2:安全狗黑名單攔截。
異常情況:客戶端本地無法遠程桌面連接Windows實例,但其他區域可以遠程連接。無法PING通服務器IP地址,且通過tracert命令跟蹤路由,發現無法到達服務器。云盾未攔截本地公網IP地址。
如果安裝了安全狗后,出現如上情況,需檢查防護軟件中是否做了對應的攔截或安全設置。可以打開服務器安全狗,選擇網絡防火墻。單擊超級黑名單的規則設置,如果黑名單中存在實例公網IP,則將此黑名單規則刪除,然后將公網IP添加到超級白名單。
遠程連接輸入用戶密碼登錄后,不能正常顯示桌面直接退出,也沒有錯誤信息。這種情況可能是服務器內存不足導致的,需要查看一下服務器的內存使用情況。具體操作如下。
(1)使用控制臺遠程連接功能登錄到Windows實例。
(2)選擇開始→控制面板→管理工具,打開事件查看器。查看一下是否有內存資源不足的警告日志信息。
出現操作系統虛擬內存不足,有兩種方法檢查方法:
方法1:檢查系統日志。打開事件查看器(運行→eventvwr),在系統日志中發現” Resource-Exhaustion-Detector”報出的2004錯誤。
方法2:檢查任務管理器。
任務管理器中發現檢查已提交內存與虛擬內存的比例。%Commited Bytes In Use 等于已提交虛擬內存/虛擬內存上限,如果超過80%,而根據微軟官方說明,請嘗試如下方案:
方案1:由于默認ECS沒有配置Paging File,可以手工配置paging file,按照如下步驟進行。
參考以下步驟,在Windows系統中配置虛擬內存:
(1)遠程連接登錄到Windows實例,如果使用軟件無法登錄Windows實例,可以使用ECS控制臺的管理終端登錄實例。
(2)右擊計算機(或這臺電腦),單擊屬性→高級系統設置。
(3)在彈出的窗口中,單擊高級,在性能區域,單擊設置。
(4)在彈出的窗口中,單擊高級,選擇后臺服務,然后單擊更改。
(5)在彈出的窗口中,取消選擇自動管理所有驅動器的分頁文件大小。
(6)選擇虛擬內存文件存放的驅動器,在自定義大小中,輸入初始大小與最大值。建議不要選擇系統盤來存放虛擬內存,具體根據服務器的硬盤情況來選擇。
(7)單擊設置,然后單擊確定完成配置。如果云服務器ECS內存資源不足,增加虛擬內存會導致磁盤I/O性能下降,建議通過升級實例規格解決,如升級CPU和內存。
方案2:如果配置Paging File后,仍然出現內存不足情況,有可能是應用程序對內存要求高,需增大實例規格,調高ECS的物理內存,同時相應的增加paging file。
總之,Windows云主機無法遠程桌面的原因較多,其中大部分為操作系統設置或者服務異常導致,如系統服務未打開、端口設置錯誤、網絡受限等等,有些故障原因和本地主機相似,有些則和云計算、網絡相關,需根據具體故障現象找到原因并解決。本文所列的十一種原因基本涵蓋常見的云主機無法遠程桌面的故障現象,在日常處理中,可以根據故障現象分類分段,定位故障是在遠程服務器系統網絡,還是在本地網絡、客戶機本身,針對不同故障快速處理,可以提升故障處置效率。