解決密碼過期造成遠端桌面(RDP)無法連線

最近陸續接到同事回報遠端桌面無法連線的問題,錯誤訊息如下;

You must change your password before logging on the first time. For assistance, contact your system administrator or technical support.

經過測試,這是因為帳號密碼過期,Domain policy 強制要求更換密碼導致,畫面如下;

1

但在測試中我們也發現一些異狀; 同一個帳號在Windows 7 的 RDP client 並沒有看到這個錯誤訊息,也不是連線到所有的 Server 都會有這個錯誤。

我們將問題情況整理如下表:

2
Windows 7 的 RDP client 在Windows server 2008 R2 & Windows server 2012 R2 都沒有問題

Windows 8.1 跟 Windows 10 的 RDP client 在 Windows server 2012 R2 上面會出現同樣的錯誤

問題判斷完了,接下來要找解決方式,先找找 google 有沒有類似的問題; 運氣不錯,幾篇文章都指出問題出在 Network Level Authentication (NLA) 跟 Credential Security Support Provider (CredSSP), 但是測試我們的 Server 不管有沒有勾選 NLA 結果還是一樣。

用 NLA 跟 CredSSP 當關鍵字,找到了兩個解法;

第一個解法 (client side) :

Adding “enablecredsspsupport:i:0” to *.rdp file is used to disable “Credential Security Support Provider”(CredSSP) in the RDP client

4

修改 Document 資料夾下面的隱藏檔案 Default.rdp ,以記事本開啟,加入 enablecredsspsupport:i:0

第二種解法 (server side) :

By applying the Require user authentication for remote connections by using Network Level Authentication Group Policy setting.

This Group Policy setting is located in Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security

新增 Group policy ,修改 Computer Configuration\Policies\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security\Require user authentication for remote (RDP) connections

將選項設為 Enable ,Security Level 選擇 RDP

5

Apply Group Policy 之後,問題解決!

 

參考文件

Disable credSSP and NLA server side

Configure Network Level Authentication for Remote Desktop Services Connections

RDP Message: You must change your password before logging on the first time. Please update your password or contact …

 

 

mRemoteNG 的新版本 mRemote3G -> mRemoteNG

mRemoteNG 是個把 RDP, SSH, Telnet, VNC… 等整合在一個視窗中,以 tab 分隔的免費應用程式,它的前身,沒記錯的話應該是叫 mRemote,後來因故中止了,我記得當時我花了些時間找到了另一個願意繼續維護它的專案 – mRemoteNG ,它不像其他類似的軟體會有 connection 數的上限或試用期之類的,繼續快樂的用了一陣子,這個版本雖然好用,但也是有一些小缺點,例如有時候按下 Alt+tab 鍵時無法順利切換視窗,偶而會莫名的 crash 等等 (1.73 Beta 1 很常掛)。

今天心血來潮去爬了一下 mRemoteNG 的論壇,竟發現有位老兄 (kaymer327) 留言說他已經另開 Github 專案去維護他自己的版本 – mRemote3G (大家喜歡改名字… 所以之前都沒 Google 到),而且到兩週前都還有更新,真是如獲至寶,目前試用的結果還算正常,原來的連線檔還是可以繼續使用,到目前也還沒 crash,VirusTotal 只有 360 掃出問題?! (HEUR/QVM03.0.Malware.Gen,我是選擇忽略 360 的結果,因為我都不把密碼存在 mRemoteNG 裡面的,哈哈)

整體看起來 UI 也改動了一點點配色的樣子,但還是一樣好用,有需要又不怕死的可以由上面連結去找嘍。

  • 2016/07/28 剛剛沒事又去逛了一下,沒想到 mRemote3G 又合併回去 mRemoteNG 了,在 Github 上可以找到最新的版本 1.75alpha,現在拿去 VirtualTotal 掃描,目前最新版的 mRemoteNG 已經都沒有病毒警告了(但之前的 mRemote3G 還是有一個?!),建議可以改用這版了