Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 7

แก้ไข: RDP Authentication Error – The Function Requested Is Not Supported

หลังจากติดตั้งอัปเดตความปลอดภัยล่าสุดบนเดสก์ท็อป Windows 10 ของฉัน ฉันไม่สามารถเชื่อมต่อจากระยะไกลไปยังเซิร์ฟเวอร์ VDS ใหม่ (รัน Windows Server 2012 R2) ผ่าน Remote Desktop ได้ เมื่อระบุชื่อเซิร์ฟเวอร์ RDP ในหน้าต่างไคลเอ็นต์ mstsc.exe และคลิก "Connect" จะเกิดข้อผิดพลาด:

Remote Desktop Connection
An authentication error has occurred.
The function requested is not supported.
Remote computer: computer_name

แก้ไข: RDP Authentication Error – The Function Requested Is Not Supported

หลังจากถอนการติดตั้งอัปเดตล่าสุดและรีบูตคอมพิวเตอร์ ฉันสามารถเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลผ่าน RDP ได้ ตามที่ฉันเข้าใจ นี่เป็นวิธีแก้ชั่วคราว แพ็กเกจ Windows Update สะสมใหม่จะมาถึงและจะถูกติดตั้งเดือนหน้า และข้อผิดพลาดการรับรองความถูกต้อง RDP จะกลับมา คุณสามารถแนะนำวิธีแก้ได้ไหม?

คำตอบ

คุณถูกต้องอย่างสมบูรณ์ การแก้ปัญหานี้โดยการลบ Windows Update ที่ติดตั้งแล้วเป็นเรื่องไร้สาระ เพราะคุณกำลังเปิดโอกาสให้คอมพิวเตอร์เสี่ยงต่อการโจมตีจากช่องโหว่ต่างๆ ที่อัปเดตนี้แก้ไข ข้อผิดพลาด RDP "An authentication error has occurred" อาจเกิดขึ้นเมื่อพยายามรันแอปพลิเคชัน RemoteApp ด้วย

ทำไมจึงเกิดขึ้น? เนื่องจากอัปเดตความปลอดภัยล่าสุด (ที่ปล่อยหลังเดือนพฤษภาคม 2018) ถูกติดตั้งบนเดสก์ท็อป Windows 10 ของคุณ อัปเดตเหล่านี้แก้ไขช่องโหว่ร้ายแรงในโปรโตคอล CredSSP (Credential Security Support Provider) ที่ใช้สำหรับการรับรองความถูกต้องบนเซิร์ฟเวอร์ RDP (CVE-2018-0886 — อ่านบทความ RDP authentication error: CredSSP Encryption Oracle Remediation อย่างละเอียด) อัปเดตเหล่านี้ ไม่ได้ ถูกติดตั้งฝั่งเซิร์ฟเวอร์ RDP/RDS ของคุณ และ NLA (Network Level Authentication) ถูกเปิดใช้งานสำหรับการเข้าถึง Remote Desktop NLA ใช้กลไก CredSSP เพื่อรับรองความถูกต้องล่วงหน้าของผู้ใช้ RDP ผ่าน TLS/SSL หรือ Kerberos คอมพิวเตอร์ของคุณเพียงแค่บล็อกการเชื่อมต่อ Remote Desktop ไปยังเซิร์ฟเวอร์ที่ใช้ CredSSP เวอร์ชันที่มีช่องโหว่

คุณสามารถทำอะไรเพื่อแก้ปัญหานี้และเชื่อมต่อกับเซิร์ฟเวอร์ RDP ของคุณได้?

  1. วิธีที่ ถูกต้องที่สุด ในการแก้ปัญหาคือติดตั้ง Windows Security Updates สะสมล่าสุดบนคอมพิวเตอร์ระยะไกลหรือเซิร์ฟเวอร์ RDS (ที่คุณพยายามเชื่อมต่อผ่าน RDP)
  2. วิธีแก้รอบข้าง 1 คุณสามารถปิด NLA (Network Level Authentication) ฝั่งเซิร์ฟเวอร์ RDP (ตามที่อธิบายด้านล่าง)
  3. วิธีแก้รอบข้าง 2 คุณสามารถกำหนดค่าเดสก์ท็อปของคุณใหม่โดยอนุญาตให้เชื่อมต่อกับ Remote Desktop ด้วย CredSSP เวอร์ชันที่ไม่ปลอดภัย (ตามที่อธิบายในบทความที่ลิงก์ด้านบน) ในการทำเช่นนี้ ให้เปลี่ยนพารามิเตอร์ Registry AllowEncryptionOracle (ใช้คำสั่ง: REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2) หรือเปลี่ยน Local Policy Encryption Oracle Remediation โดยตั้งค่าเป็น Vulnerable นี่คือวิธีเดียวที่จะเข้าถึงเซิร์ฟเวอร์ระยะไกลผ่าน RDP หากคุณไม่สามารถล็อกอินบนเซิร์ฟเวอร์ในพื้นที่ได้ (ผ่าน ILO, คอนโซล VM หรือเว็บอินเทอร์เฟซของผู้ให้บริการคลาวด์) คุณสามารถเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลในโหมดนี้และติดตั้งอัปเดตความปลอดภัยล่าสุด หลังจากอัปเดตเซิร์ฟเวอร์แล้ว อย่าลืมปิดนโยบายหรือคืนค่าพารามิเตอร์ Registry AllowEncryptionOracle กลับเป็น 0 (REG ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 0)

ปิด NLA สำหรับ Remote Desktop ใน Windows

หาก NLA ถูกเปิดใช้งานบนเซิร์ฟเวอร์ RDP ของคุณ หมายความว่า CredSSP ถูกใช้สำหรับการรับรองความถูกต้องล่วงหน้าของผู้ใช้ RDP คุณสามารถปิด Network Level Authentication ใน System Properties บนแท็บ Remote โดยการยกเลิกการติ๊กตัวเลือก "Allow connection only from computers running Remote Desktop with Network Level Authentication (recommended)" (Windows 10/8.1 หรือ Windows Server 2012R2/2016)

แก้ไข: RDP Authentication Error – The Function Requested Is Not Supported

ใน Windows 7 (Windows Server 2008 R2) ตัวเลือกนี้เรียกอย่างอื่น บนแท็บ Remote ให้เลือกตัวเลือก "Allow connections from computers running any version of Remote Desktop (less secure)"

แก้ไข: RDP Authentication Error – The Function Requested Is Not Supported

คุณยังสามารถปิด Network Level Authentication (NLA) โดยใช้ Local Group Policy Editor — gpedit.msc (คุณสามารถรัน gpedit.msc ใน Windows 10 Home edition ได้เช่นนี้) หรือใช้ Domain Group Policy Management Console — GPMC.msc ใน Policy Editor ไปที่ส่วน Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Security ค้นหาและปิดนโยบาย "Require user authentication for remote connections by using Network Level Authentication"

แก้ไข: RDP Authentication Error – The Function Requested Is Not Supported

คุณยังต้องเลือก RDP Security Layer ในการตั้งค่านโยบาย "Require use of specific security layer for remote (RDP) connections"

เพื่อนำการตั้งค่า RDP ใหม่ไปใช้ คุณต้องอัปเดต Group Policies บนคอมพิวเตอร์โลคัล (gpupdate / force) หรือรีบูตเดสก์ท็อปของคุณ หลังจากนั้น คุณควรสามารถเชื่อมต่อกับ Remote Desktop ได้สำเร็จ