दूरस्थ प्रशासन मोड में विंडोज सर्वर 2012 पर आरडीपी के लिए कस्टम एसएसएल प्रमाणपत्र कॉन्फ़िगर करें?


52

इसलिए विंडोज सर्वर 2012 की रिलीज ने पुराने रिमोट डेस्कटॉप से ​​संबंधित कॉन्फ़िगरेशन उपयोगिताओं को हटा दिया है। विशेष रूप से, कोई और अधिक दूरस्थ डेस्कटॉप सत्र होस्ट कॉन्फ़िगरेशन सुविधा नहीं है जो आपको RDP-Tcp गुण संवाद तक पहुंच प्रदान करती है जो आपको RDSH के उपयोग के लिए एक कस्टम प्रमाणपत्र कॉन्फ़िगर करने देता है। इसके स्थान पर एक अच्छा नया समेकित GUI है जो नए सर्वर प्रबंधक में समग्र "एडिट परिनियोजन गुण" वर्कफ़्लो का हिस्सा है। पकड़ यह है कि आप केवल उस वर्कफ़्लो तक पहुंच प्राप्त करते हैं यदि आपके पास दूरस्थ डेस्कटॉप सेवा भूमिका स्थापित है (जहां तक ​​मैं बता सकता हूं)।

यह Microsoft के हिस्से पर कुछ हद तक एक तरह से लगता है। हम Windows Server 2012 पर RDP के लिए एक कस्टम एसएसएल प्रमाणपत्र को कैसे कॉन्फ़िगर कर सकते हैं जब यह बिना किसी आवश्यकता के दूरस्थ डेस्कटॉप प्रशासन रोल में डिफ़ॉल्ट दूरस्थ प्रशासन मोड में चल रहा है?


जवाबों:


80

यह पता चला है कि RDSH के लिए कॉन्फ़िगरेशन डेटा का अधिकांश नाम Win32_TSGeneralSettingWMI में वर्ग में root\cimv2\TerminalServicesनामस्थान में संग्रहीत है । किसी दिए गए कनेक्शन के लिए कॉन्फ़िगर किए गए प्रमाण पत्र को उस प्रमाण पत्र के थम्बप्रिंट मान द्वारा संदर्भित किया जाता है जिसे एक संपत्ति कहा जाता है SSLCertificateSHA1Hash


अद्यतन: यहां एक सामान्यीकृत पॉवर्सशेल समाधान है जो कंप्यूटर के व्यक्तिगत स्टोर में पहले एसएसएल सर्टिफिकेट के थंबप्रिंट को पकड़ता है और सेट करता है। यदि आपके सिस्टम में कई सिरे हैं, तो आपको यह सुनिश्चित -Filterकरने के लिए gciकमांड में एक विकल्प जोड़ना चाहिए कि आप सही प्रमाणपत्र का संदर्भ लें। मैंने अपना मूल उत्तर संदर्भ के लिए नीचे छोड़ दिया है।

# get a reference to the config instance
$tsgs = gwmi -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'"

# grab the thumbprint of the first SSL cert in the computer store
$thumb = (gci -path cert:/LocalMachine/My | select -first 1).Thumbprint

# set the new thumbprint value
swmi -path $tsgs.__path -argument @{SSLCertificateSHA1Hash="$thumb"}

ताकि अंगूठे का मूल्य मिल सके

  1. अपने प्रमाणपत्र के लिए गुण संवाद खोलें और विवरण टैब चुनें
  2. थम्बप्रिंट फ़ील्ड में नीचे स्क्रॉल करें और नोटपैड जैसी जगह में सीमांकित हेक्स स्ट्रिंग को कॉपी करें
  3. स्ट्रिंग से सभी रिक्त स्थान निकालें। आप स्ट्रिंग में पहले चरित्र के ठीक पहले कॉपी किए जाने वाले गैर-अस्की चरित्र को देखना और निकालना चाहते हैं। यह नोटपैड में दिखाई नहीं देता है।
  4. यह वह मान है जिसे आपको WMI में सेट करना होगा। इसे कुछ इस तरह से देखना चाहिए: 1ea1fd5b25b8c327be2c4e4852263efdb4d16af4

अब जब आपके पास थंबप्रिंट वैल्यू है, तो यहां एक-लाइनर है जिसका उपयोग आप वैमिक का उपयोग करके मान सेट करने के लिए कर सकते हैं:

wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="THUMBPRINT"

या यदि PowerShell आपकी चीज़ है, तो आप इसके बजाय इसका उपयोग कर सकते हैं:

$path = (Get-WmiObject -class "Win32_TSGeneralSetting" -Namespace root\cimv2\terminalservices -Filter "TerminalName='RDP-tcp'").__path
Set-WmiInstance -Path $path -argument @{SSLCertificateSHA1Hash="THUMBPRINT"}

नोट: प्रमाणपत्र कंप्यूटर खाते के लिए 'व्यक्तिगत' प्रमाणपत्र स्टोर में होना चाहिए।


3
बस यह जोड़ना चाहता था कि इससे मुझे शुद्ध मंदी से बचाया जा सके। धन्यवाद। भूमिकाओं को फिर से स्थापित करना और सर्वर को फिर से शुरू करना जैसा कि तकनीक और इस तरह सुझाया गया है, हास्यास्पद है। फिर भी, एक बार जब आप RD गेटवे प्रबंधक में SSL प्रमाणपत्र स्थापित करते हैं, तो यह दूरस्थ व्यवस्थापक लॉगिन पर नहीं जाता है।
पापा

2
इस लिए आपका बहुत - बहुत धन्यवाद। इससे पहले कि मैंने यह पाया मैं सभी Google को खोज लिया है । मुझे "भूमिकाएं और सुविधाएँ जोड़ें" के माध्यम से "दूरस्थ डेस्कटॉप सेवाएँ" स्थापित करने के लिए बहुत सारे परिणाम बताए गए हैं, लेकिन ऐसा करने के लिए आपको एक डोमेन में शामिल होने की आवश्यकता है।
सेठी

2
अगर मैं इसे आपके पीएस स्क्रिप्ट का उपयोग करके करने की कोशिश करता हूं तो मुझे "अमान्य पैरामीटर" मिलता है। एक ही मुद्दा अगर मैं इसे मैन्युअल रूप से भी करता हूं ...
deed02392

1
जब तक मैंने निजी कुंजियों सहित प्रमाण पत्र को पुन: आयात नहीं किया, तब तक मुझे सभी विधियों का उपयोग करके अमान्य तर्क मिल रहा था । साधारण गलती।
टॉफीटोमक

2
मुझे फिर से: डी मुझे मिल रहा है कि "अवैध पैरामीटर" पॉवरशेल में त्रुटि भी जब चल रहा है wmic। बस नीचे नोट देखा। सुनिश्चित करें कि प्रमाणपत्र व्यक्तिगत स्टोर में भी है। मेरा इस बार वेब होस्टिंग स्टोर में था ...
सेठी

4

यदि आप रयान के समाधान की कोशिश करते समय "अमान्य पैरामीटर" प्राप्त कर रहे हैं, तो सुनिश्चित करें कि आप उन्नत कमांड प्रॉम्प्ट (व्यवस्थापक के रूप में चलाएँ) का उपयोग कर रहे हैं।


विश्वास नहीं कर सकता यह कोई upvote नहीं है!
एड्रियन गोडोंग

0

आपको domain.pfx txt फ़ाइल में अपना & फिंगरप्रिंट चाहिए SSLCertificateSHA1Hash.txt

फिर इसे CMD में चलाएं:

pushd %~dp0
cls
::FreeSoftwareServers.com

certutil.exe -p "" -importpfx "%~dp0domain.pfx"
set /p FingerPrint=<"%~dp0SSLCertificateSHA1Hash.txt"
wmic /namespace:\\root\CIMV2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash="%FingerPrint%"
icacls.exe "C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys\*" /grant "NETWORK SERVICE":R
shutdown /r /t 5
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.