วิธีเปิดใช้งานการรับรองความถูกต้องเจรจาต่อรองสำหรับ winrm


10

ฉันได้ปิดการใช้งานการเจรจาต่อรองรับรองความถูกต้องสำหรับบริการ winrm บนเซิร์ฟเวอร์ของฉันโดยการดำเนินการ:

winrm put winrm/config/service/Auth @{Negotiate="false"}

และตอนนี้ฉันสามารถดำเนินการใด ๆ กับ winrm ฉันได้รับข้อผิดพลาด:

    Message = The WinRM client cannot process the request. The WinRM client trie
d to use Negotiate authentication mechanism, but the destination computer (local
host:47001) returned an 'access denied' error. Change the configuration to allow
 Negotiate authentication mechanism to be used or specify one of the authenticat
ion mechanisms supported by the server. To use Kerberos, specify the local compu
ter name as the remote destination. Also verify that the client computer and the
 destination computer are joined to a domain. To use Basic, specify the local co
mputer name as the remote destination, specify Basic authentication and provide
user name and password. Possible authentication mechanisms reported by server:

ฉันเข้าใจข้อผิดพลาด แต่ปัญหาคือวิธีเดียวที่ฉันค้นพบบนเว็บเพื่อเปิดใช้งานการรับรองความถูกต้องเจรจาต่อรองคือการดำเนินการ:

winrm put winrm/config/service/Auth @{Negotiate="true"}

ข้อใดให้ข้อผิดพลาดด้านบน มีวิธีอื่นในการเปิดใช้งานการรับรองความถูกต้องเจรจาหรือไม่

คำตอบ:


14

ใช้นโยบายกลุ่ม:

คอมพิวเตอร์> นโยบาย> เทมเพลตการดูแลระบบ> ส่วนประกอบ Windows> การจัดการระยะไกลของ Windows> บริการ WinRM:
ไม่อนุญาตให้เจรจาต่อรองการรับรองความถูกต้อง: ปิดใช้งาน


5
สำหรับผู้อ่านในอนาคต: เพื่อเปิดเมนูนี้รัน (win + 'R') gpedit.mscและเลือกComputer Configuration-> Administrative Templates...
Ivaylo Strandjev

หากเป็น "ไม่ได้กำหนดค่า" อย่าปล่อยให้สิ่งนี้หลอกคุณ ไม่ใช่การเริ่มต้นตามที่คุณคาดหวัง นี่เป็นคำตอบสำหรับฉันหลังจากพยายามแก้ไขรีจิสตรีไม่สำเร็จ
durette

5

แก้ไขรีจิสตรีคีย์ HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ WSMAN \ Client

ตั้งค่า auth_kerberos และ auth_negotiate เป็น 1

เริ่มบริการใหม่


2

ตามที่แนะนำในคำตอบนี้แต่บริการไม่ใช่ลูกค้า:

  1. HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Serviceแก้ไขคีย์รีจิสทรี

  2. การตั้งค่าauth_kerberosและauth_negotiateการ1

  3. เริ่มบริการ Windows Remote Management (WS-Management)


1

บนเครื่องเซิร์ฟเวอร์ 2012 / exchange 2010 ของเราเราพบข้อผิดพลาดนี้เมื่อพยายามใช้ซอฟต์แวร์สำรองข้อมูล AVG

ฉันพบว่าการลบทั้งสองmaxenvelopesizeและtrusted_hostsภายใต้คีย์นี้เป็นการหลอกลวง

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Client]
"maxEnvelopeSize"=dword:000007d0
"trusted_hosts"="*"

1

ฉันมีเซิร์ฟเวอร์ตัวหนึ่งที่ทำงานได้ แต่เซิร์ฟเวอร์อื่นจะไม่ทำงาน ฉันไม่พบปัญหา ในที่สุดฉันก็คิดออก

บนเซิร์ฟเวอร์ที่ส่ง: ตั้งค่านโยบายท้องถิ่นคอมพิวเตอร์ Configuration \ Administrative Templates \ System \ Credentials Delegation \ Allow มอบหมาย Delegating Fresh Credentials ในนั้นให้ตั้งค่า WSMAN * ในเพิ่มเซิร์ฟเวอร์ไปยังรายการ (รวมทั้งทำเครื่องหมายที่ช่องเพื่อเชื่อมต่อค่าเริ่มต้นของระบบปฏิบัติการ)

บนเซิร์ฟเวอร์ที่รับ (สร้างไฟล์. reg ด้วยดังต่อไปนี้ :):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Client] 
"auth_credssp"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WSMAN\Service]
"auth_credssp"=dword:00000001

ทำงานได้สำหรับฉัน


1

โปรดทราบว่าหากคอมพิวเตอร์ (เซิร์ฟเวอร์) เป็นสมาชิกของโดเมนหรือตัวเองเป็นตัวควบคุมโดเมน (ในกรณีของฉัน Windows Server 2019) นโยบายกลุ่มสามารถใช้จากนโยบายกลุ่มโดเมน
ดังนั้นฉันขอแนะนำ (ในกรณีเหล่านี้) ใช้คำสั่งด้านล่างและตรวจสอบค่าที่ชนะ "Disallow Negotiate authentication"

C:\Temp\gpresult /h rep.htm

อาจใช้จาก "นโยบายตัวควบคุมโดเมนเริ่มต้น" !!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.