線上到遠端電腦時發生「發生內部錯誤」
本文有助於針對連線到遠端計算機時發生的「發生內部錯誤」錯誤進行疑難解答。
當您使用直接遠端桌面通訊協定 (RDP) 連線到 Windows 電腦時,聯機會失敗,並出現「發生內部錯誤」錯誤。 錯誤會在遠端桌面連線應用程式上輸入認證之前或之後發生。
注意事項
如果連線在錯誤出現前最多停止回應一分鐘,然後在第二次嘗試時成功,原因可能是開啟音訊以擷取設定的容量。
在此情況下,封鎖呼叫會防止用戶端將所需的信息傳送至伺服器。 大約一分鐘后,連線就會成功,因為遠端計算機會重設連線。
若要解決此問題,請在遠端電腦上停用 Windows 音訊服務,並視需要在來源電腦上選擇性地停用。
確認錯誤是否與網路相關
使用下列步驟來檢查您是否可以透過 Web 控制台連線到伺服器 (例如 Hyper-V) :
- 在 [執行] 方塊中輸入 mstsc。
- 在 [遠端桌面連線] 應用程式的 [計算機] 方塊中輸入localhost,然後選取[連線]。
如果不再發生錯誤,則與網路相關。 請連絡 Microsoft 支援服務 以取得進一步的協助。
如果錯誤持續發生,則問題是伺服器的問題。 移至下一個疑難解答步驟。
確認錯誤是否與加密交涉相關
當來源和目的地機器交涉安全性通訊協定、加密或其他加密組態時,通常會發生此問題。 若要確認錯誤是否與加密交涉有關,請在受影響的電腦上執行下列命令,將和 SecurityLayer
值調整UserAuthentication
為 0
:
重要事項
這個章節、方法或工作包含修改登錄的步驟。 然而,不當修改登錄可能會發生嚴重的問題。 因此,請務必謹慎地依照這些步驟執行。 若要獲得保護,請在進行修改前先備份登錄,以便在出現問題時還原登錄。 如需進一步了解如何備份及還原登錄的相關資訊,請參閱如何在 Windows 中備份及還原登錄。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v SecurityLayer /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v UserAuthentication /t REG_DWORD /d 0 /f
重要事項
在疑難解答會話結束時,使用下列命令將這些設定設定為建議的值:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v SecurityLayer /t REG_DWORD /d 2 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v UserAuthentication /t REG_DWORD /d 1 /f
如果您可以在執行命令之後連線到遠端電腦,問題可能與下列其中一個相關:
- 更新遠端桌面自我簽署憑證
- 安全性通訊協定交涉
若要縮小可能的原因,請遵循下列步驟來檢查您是否可以重新建立遠端桌面自我簽署憑證:
- 開啟憑證 Microsoft Management Console (MMC) 嵌入式管理單元。 當系統提示您選取要管理的證書存儲時,請選取 [ 計算機帳戶],然後選取受影響的計算機。
- 在 [遠端桌面] 下的 [憑證] 資料夾中,刪除 RDP 自我簽署憑證。
- 在受影響的電腦上重新啟動遠端桌面服務服務。
- 重新整理憑證嵌入式管理單元。
- 如果尚未重新建立 RDP 自我簽署憑證,請移至 遠端桌面自我簽署憑證。
- 如果已重新建立 RDP 自我簽署憑證,請移至 安全性通訊協定交涉。
遠端桌面自我簽署憑證
如果問題與更新遠端桌面自我簽署憑證有關,請使用下列方法來針對問題進行疑難解答。
檢查登錄組態
開啟登入 編輯器,並確定這些金鑰已設定如下:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations
值SelfSignedCertStore
名稱具有Remote Desktop
值數據。Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
值ProgramData
名稱具有%SystemDrive%\ProgramData
值數據。
檢查服務
請確定下列服務正在執行,因為需要這些服務才能產生憑證:
- CertPropSvc (憑證傳播服務)
- CNG 金鑰隔離服務 (KeyIso)
- CryptSvc (密碼編譯服務)
- SessionEnv (遠端桌面設定服務)
注意事項
如果上述任何服務無法啟動,請檢查其與服務控制管理員來源之系統事件記錄的相依性是否有問題。
檢查 MachineKeys 許可權
移至受影響計算機上的 C:\ProgramData\Microsoft\Crypto\RSA\ 。
以滑鼠右鍵按兩下 [MachineKeys],然後選取 [屬性>安全>性進階]。
請確定只設定下列權限:
- Builtin\Administrators: 完全控制
- 所有人: 讀取、 寫入
重新啟動遠端桌面服務服務,並確認已重新建立憑證。
檢查 RDP 計算機金鑰的許可權
移至受影響計算機上的 C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys 。
以滑鼠右鍵按兩下開頭為 f686aace6942fb7f7ceb231212eef4a4 的密鑰,然後選取 [屬性>安全>性進階]。
將 [擁有者] 變更為具有計算機系統管理許可權的人員。
關閉並重新開啟 [ 進階安全性設定] 視窗。
請確定只設定下列權限:
主要 類型 Access 從 繼承而來。 網路服務 允許 讀取 無 系統 允許 完全控制 無 重新啟動遠端桌面服務服務,並確認已重新建立憑證。
連絡 Microsoft 支援服務
如果上述步驟無法解決問題,請連絡 Microsoft 支援服務 以取得進一步的協助。
安全性通訊協定交涉
如果問題與安全性通訊協定交涉有關,請使用下列方法來針對問題進行疑難解答。
檢查登錄組態
檢查下列登入機碼:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
檢查值是否
SSLCertificateSHA1HashValue
存在,以及值數據是否符合 指紋 值。 您可以在 certlm.msc 控制台的 [遠端桌面>憑證] 底下,於憑證的 [詳細數據] 索引卷標中找到指紋值。 如果不相符,請刪除SSLCertificateSHA1HashValue
值、重新啟動系統,然後再次測試。重要事項
如果伺服器已安裝遠端桌面連線代理人角色,請勿套用此步驟。
請確定
fAllowSecProtocolNegotiation
值已設定為 1。請確定
MinEncryptionLevel
值已設定為 3。 如需詳細資訊,請 參閱加密層級。
檢查 SSL 加密套件訂單原則的設定
檢查是否有設定 加密的原則。 如果存在,請將下列原則設定設為 [未 設定]:
計算機設定>系統管理範>本網路>SSL 組態 - 設定SSL 加密套件訂單
注意事項
將原則設定為 [未設定] 之後,如果存在,請刪除下列登錄值:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Cryptography\Configuration\SSL\00010002
- Functions
.
取代 SCHANNEL 子機碼
- 在具有相同 Windows 版本的電腦上匯出下列子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
- 備份受影響計算機上的現有金鑰。 然後,刪除它,並以從正常運作機器導出的子機碼取代它。
取代密碼編譯 SSL 子機碼
- 在具有相同 Windows 版本的電腦上匯出下列子機碼:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002
- 備份受影響計算機上的現有金鑰。 然後,刪除它,並以從正常運作機器導出的子機碼取代它。
連絡 Microsoft 支援服務
如果上述步驟無法解決問題,請連絡 Microsoft 支援服務 以取得進一步的協助。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應