Computer >> कंप्यूटर >  >> प्रणाली >> Windows Server

विंडोज 10/सर्वर 2019 पर एसएसएच कुंजी-आधारित प्रमाणीकरण को कॉन्फ़िगर करना

इस लेख में हम दूरस्थ सर्वरों/कंप्यूटरों को सुरक्षित रूप से एक्सेस करने के लिए विंडोज़ पर आरएसए कुंजियों के साथ एसएसएच प्रमाणीकरण को कॉन्फ़िगर करेंगे। हम दिखाएंगे कि विंडोज़ पर आरएसए कुंजी (प्रमाणपत्र) कैसे उत्पन्न करें और कुंजी-आधारित प्रमाणीकरण के लिए विंडोज 10/विंडोज सर्वर 2019 पर एक अंतर्निहित ओपनएसएसएच सर्वर को कॉन्फ़िगर करें (पासवर्ड के बिना दूरस्थ होस्ट पर प्रमाणित करने की अनुमति देता है)।

SSH कुंजी-आधारित प्रमाणीकरण लिनक्स की दुनिया में व्यापक रूप से उपयोग किया जाता है, लेकिन विंडोज में यह हाल ही में सामने आया है। विचार यह है कि क्लाइंट की सार्वजनिक कुंजी SSH सर्वर पर जोड़ी जाती है, और जब कोई क्लाइंट इससे कनेक्ट करने का प्रयास करता है, तो सर्वर यह जांचता है कि क्लाइंट के पास संबंधित निजी कुंजी है या नहीं।

सामग्री:

  • Windows पर SSH (RSA) जेनरेट करना
  • SSH कुंजियों का उपयोग करके प्रमाणित करने के लिए विंडोज़ पर OpenSSH सर्वर को कॉन्फ़िगर करना
  • स्थानीय व्यवस्थापक के अंतर्गत SSH कुंजी का उपयोग करके Windows लॉगिन कैसे करें?

Windows पर SSH (RSA) जेनरेट करना

आपको क्लाइंट कंप्यूटर पर दो RSA कुंजियाँ (सार्वजनिक और निजी वाली) जनरेट करनी होंगी जिनका उपयोग आप OpenSSH चलाने वाले दूरस्थ Windows सर्वर से कनेक्ट करने के लिए करेंगे। क्लाइंट साइड पर एक निजी कुंजी संग्रहीत की जाती है (इसे किसी को न दें!), और एक सार्वजनिक कुंजी को authorized_keys में जोड़ दिया जाता है। SSH सर्वर पर फ़ाइल। Windows क्लाइंट पर RSA कुंजियाँ बनाने के लिए, आपको OpenSSH क्लाइंट स्थापित करना होगा।

विंडोज 10 1809 (और नए) और विंडोज सर्वर 2019 में, ओपनएसएसएच क्लाइंट को एक अलग फीचर के रूप में स्थापित किया गया है:

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

पिछले Windows संस्करणों में आप Win32-OpenSSH . स्थापित कर सकते हैं गिटहब से पोर्ट (विंडोज़ पर एक एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करने के बारे में लेख में उदाहरण देखें)।

एक मानक (गैर-विशेषाधिकार प्राप्त) पावरशेल सत्र चलाएं और कमांड का उपयोग करके RSA 2048 कुंजियों की एक जोड़ी बनाएं:

ssh-keygen

निजी कुंजी की सुरक्षा के लिए आपको एक पासवर्ड दर्ज करने के लिए प्रेरित किया जाएगा। यदि आप पासवर्ड निर्दिष्ट करते हैं, तो आपको हर बार एसएसएच प्रमाणीकरण के लिए इस कुंजी का उपयोग करने पर इसे दर्ज करना होगा। मैंने कोई पासफ़्रेज़ दर्ज नहीं किया है (अनुशंसित नहीं)।

विंडोज 10/सर्वर 2019 पर एसएसएच कुंजी-आधारित प्रमाणीकरण को कॉन्फ़िगर करना

Ssh-keygen .ssh . बनाएगा वर्तमान विंडोज उपयोगकर्ता (C:\Users\your_username) की प्रोफ़ाइल में निर्देशिका और उसमें 2 फ़ाइलें रखें:

  • id_rsa - एक निजी कुंजी
  • id_rsa.pub - एक सार्वजनिक कुंजी

RSA कुंजियाँ बनाने के बाद, आप SSH एजेंट . में निजी कुंजी जोड़ सकते हैं सेवा, जो निजी कुंजी को आसानी से प्रबंधित करने और प्रमाणीकरण के लिए उनका उपयोग करने की अनुमति देती है। SSH एजेंट निजी कुंजी संग्रहीत करता है और उन्हें वर्तमान उपयोगकर्ता के सुरक्षा संदर्भ में प्रदान करता है। ssh-agent सेवा चलाएँ और इसे PowerShell सेवा प्रबंधन आदेशों का उपयोग करके स्वचालित रूप से स्टार्टअप पर कॉन्फ़िगर करें:

set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent

अपनी निजी कुंजी को ssh-agent डेटाबेस में जोड़ें:

ssh-add "C:\Users\youruser\.ssh\id_rsa"

या इस प्रकार:

ssh-add.exe $ENV:UserProfile\.ssh\id_rsa

SSH कुंजियों का उपयोग करके प्रमाणित करने के लिए Windows पर OpenSSH सर्वर को कॉन्फ़िगर करना

फिर क्लाइंट पर आपके द्वारा जेनरेट की गई सार्वजनिक कुंजी को अपने एसएसएच सर्वर पर कॉपी करें (इस उदाहरण में यह एक दूरस्थ कंप्यूटर है जो विंडोज 10 1903 चला रहा है और ओपनएसएसएच कॉन्फ़िगर किया गया है)।

हमने पहले ही चर्चा की है कि विंडोज़ में ओपनएसएसएच सर्वर को और अधिक विस्तार से कैसे कॉन्फ़िगर किया जाए।

id_rsa.pub को कॉपी करें .ssh . पर फ़ाइल करें उपयोगकर्ता की प्रोफ़ाइल में निर्देशिका जिसे आप SSH सर्वर से कनेक्ट करने के लिए उपयोग करेंगे। उदाहरण के लिए, मेरे पास एक व्यवस्थापक . है मेरे विंडोज 10 में उपयोगकर्ता, इसलिए मुझे कुंजी को C:\Users\admin . पर कॉपी करना होगा \.ssh\authorized_keys.

विंडोज 10/सर्वर 2019 पर एसएसएच कुंजी-आधारित प्रमाणीकरण को कॉन्फ़िगर करना

आप SCP का उपयोग करके सार्वजनिक कुंजी को SSH सर्वर पर कॉपी कर सकते हैं:

scp C:\Users\youruser\.ssh\id_rsa.pub admin@192.168.1.15:c:\users\admin\.ssh\authorized_keys

अब आप बिना पासवर्ड के अपने विंडोज एसएसएच सर्वर से कनेक्ट कर सकते हैं। यदि आपने निजी कुंजी के लिए पासवर्ड (पासफ़्रेज़) सेट नहीं किया है, तो आप स्वचालित रूप से अपने दूरस्थ Windows होस्ट से कनेक्ट हो जाएंगे।

देशी SSH क्लाइंट का उपयोग करके किसी दूरस्थ होस्ट से कनेक्ट करने के लिए, आपको निम्न कमांड की आवश्यकता होगी:

ssh (username)@(SSH server name or IP address)

उदाहरण के लिए:

ssh admin@192.168.1.15

इसका अर्थ है कि आप व्यवस्थापक के अंतर्गत IP पते 192.168.1.15 के साथ दूरस्थ SSH सर्वर से कनेक्ट करना चाहते हैं हेतु। SSH एजेंट स्वचालित रूप से प्रमाणित करने के लिए पहले सहेजी गई निजी कुंजी का उपयोग करने का प्रयास करेगा।

यदि आप SSH कुंजियों को प्रबंधित करने के लिए ssh-agent सेवा का उपयोग नहीं करना चाहते हैं, तो आप SSH प्रमाणीकरण के लिए उपयोग की जाने वाली निजी कुंजी फ़ाइल का पथ निर्दिष्ट कर सकते हैं:

ssh admin@192.168.1.15 -i "C:\Users\youruser\.ssh\id_rsa"

यदि आप आरएसए कुंजी का उपयोग करके अपने एसएसएच सर्वर से कनेक्ट करने में सक्षम नहीं थे और आपको अभी भी पासवर्ड दर्ज करने के लिए कहा जाता है, तो संभव है कि आप जिस उपयोगकर्ता खाते से कनेक्ट करने का प्रयास कर रहे हैं वह स्थानीय सर्वर व्यवस्थापक समूह (समूह एसआईडी समूह) का सदस्य है। एस-1-5-32-544 है)। हम इस पर बाद में चर्चा करेंगे।

विंडोज 10/सर्वर 2019 पर एसएसएच कुंजी-आधारित प्रमाणीकरण को कॉन्फ़िगर करना

स्थानीय व्यवस्थापक के अंतर्गत SSH कुंजी का उपयोग करके Windows में लॉगिन कैसे करें?

ओपनएसएसएच विंडोज स्थानीय व्यवस्थापक विशेषाधिकार वाले उपयोगकर्ताओं के लिए विशेष कुंजी-आधारित पहुंच सेटिंग्स का उपयोग करता है।

सबसे पहले, एक कुंजी फ़ाइल C:\ProgramData\ssh\administrators_authorized_key का उपयोग करें अधिकृत_कुंजी . के बजाय s उपयोगकर्ता प्रोफ़ाइल में फ़ाइल। आपको इस टेक्स्ट फ़ाइल में अपनी SSH कुंजी जोड़नी होगी (सुरक्षा उद्देश्यों के लिए, केवल व्यवस्थापक समूह और सिस्टम के पास इस फ़ाइल को पढ़ने की अनुमति होनी चाहिए)।

उपयोगकर्ता प्रोफ़ाइल से अधिकृत_की फ़ाइल का उपयोग करने के लिए और सार्वजनिक कुंजी डेटा को admins_authorized_keys फ़ाइल में नहीं ले जाने के लिए, आप OpenSSH कॉन्फ़िगरेशन फ़ाइल (C:\ProgramData\ssh\sshd_config )।

इन पंक्तियों पर टिप्पणी करें:
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

विंडोज 10/सर्वर 2019 पर एसएसएच कुंजी-आधारित प्रमाणीकरण को कॉन्फ़िगर करना

sshd_config फ़ाइल में RSA कुंजियों का उपयोग करके Windows तक पहुँचने की अनुमति दें:

PubkeyAuthentication yes

और एसएसएच पासवर्ड लॉगिन अक्षम करें:

PasswordAuthentication no

Sshd_config में परिवर्तन सहेजने के बाद sshd सेवा को पुनरारंभ करना न भूलें।

restart-service sshd

यहाँ एक और महत्वपूर्ण बात है। पहले के OpenSSH संस्करणों में आपको NT Service\sshd को अधिकृत_की फ़ाइल पर पढ़ने की अनुमति देनी होती थी।

ऐसा करने के लिए, आपको निम्न में से एक करना होगा:

  • OpenSSHUtils मॉड्यूल स्थापित करें :Install-Module -Force OpenSSHUtils -Scope AllUsers . फ़ाइल अनुमतियाँ बदलने के लिए, यह कमांड चलाएँ:Repair-AuthorizedKeyPermission -FilePath C:\Users\admin\.ssh\authorized_keys विंडोज 10/सर्वर 2019 पर एसएसएच कुंजी-आधारित प्रमाणीकरण को कॉन्फ़िगर करना
  • NTFSSecurity मॉड्यूल या icacls का उपयोग करके फ़ाइल के लिए NTFS अनुमतियों को बदलें;
  • या आप सख्त मोड को अक्षम कर सकते हैं sshd_config फ़ाइल में। डिफ़ॉल्ट रूप से, यह मोड सक्षम है और कुंजी-आधारित प्रमाणीकरण को रोकता है, यदि कोई सार्वजनिक और निजी कुंजी अच्छी तरह से सुरक्षित नहीं हैं। लाइन को अनकम्मेंट करें #StrictModes yes , और इसे StrictModes no . में बदलें . विंडोज 10/सर्वर 2019 पर एसएसएच कुंजी-आधारित प्रमाणीकरण को कॉन्फ़िगर करना

तो आपने सार्वजनिक आरएसए कुंजी (प्रमाणपत्र) का उपयोग करके विंडोज़ पर एसएसएच प्रमाणीकरण को कॉन्फ़िगर किया है। अब आप इस प्रमाणीकरण विधि का उपयोग दूरस्थ सर्वर तक सुरक्षित रूप से पहुंचने, SSH सुरंग में पोर्ट को स्वचालित रूप से अग्रेषित करने, स्क्रिप्ट चलाने और स्वचालन से संबंधित अन्य कार्यों को करने के लिए कर सकते हैं।


  1. विंडोज 11/10 पर अपाचे कैसे स्थापित करें

    एक वेब सर्वर इंटरनेट का एक मूलभूत तत्व है। अपाचे रिमोट सर्वर और वेबसाइट विज़िटर के ब्राउज़र के बीच एक कनेक्शन स्थापित करके काम करता है क्योंकि वे एक दूसरे के साथ संवाद करते हैं। हालांकि समय के साथ इसके उपयोग में गिरावट आई है, फिर भी यह वेबसर्वर सर्वर बाजार में अच्छी पैठ रखता है। उस परिप्रेक्ष्य में,

  1. विंडोज सर्वर 2019 हटाई गई और हटाई गई विशेषताएं

    उपभोक्ताओं के लिए विंडोज 10 की तरह, माइक्रोसॉफ्ट अपने सर्वर संस्करणों के लिए नई सुविधाओं और कार्यक्षमता का निर्माण करता रहता है। जोड़ने के अलावा, फ़ंक्शन भी हटा दिए जाते हैं और बहिष्कृत कर दिए जाते हैं। यहां Windows 10 सर्वर 2019 की सूची दी गई है हटाई गई और बहिष्कृत सुविधाएं Windows Server 2019 हटाई

  1. Windows Server 2019 में Hyper-V रोल इंस्टाल करें

    यदि आप हमारे लेखों के प्रशंसक हैं, तो आपने शायद कई लेख देखे होंगे जो हाइपर-वी 2019 के बारे में बात करते हैं। वर्चुअलाइजेशन को ठीक से समझने के बाद, अगला कदम हमारे पर्यावरण को मशीन से लैस करना है जो एक हाइपरवाइजर के रूप में काम कर सकता है और वह है विंडोज सर्वर 2010 या हाइपर-वी 2019 कोर सर्वर के साथ सं