विंडोज 10 1809 और विंडोज सर्वर 2019 को ओपनएसएसएच पर आधारित एक बिल्ट-इन एसएसएच सर्वर मिला है। इस लेख में हम दिखाएंगे कि विंडोज 10 पर ओपनएसएसएच सर्वर को कैसे स्थापित और कॉन्फ़िगर किया जाए और इसे सुरक्षित एसएसएच प्रोटोकॉल (जैसे लिनक्स में) पर दूरस्थ रूप से कनेक्ट किया जाए।
आप पिछले विंडोज संस्करणों में भी एक ओपनएसएसएच सर्वर स्थापित कर सकते हैं, लेकिन आपको गिटहब (https://github.com/powershell/Win32-OpenSSH) से Win32 पोर्ट के लिए ओपनएसएसएच को मैन्युअल रूप से डाउनलोड और इंस्टॉल करना होगा। Win32-OpenSSH को स्थापित और कॉन्फ़िगर करने का उदाहरण "विंडोज़ पर एसएफटीपी सर्वर (एसएसएच एफ़टीपी) कैसे स्थापित और कॉन्फ़िगर करें?" लेख में दिया गया है।
सामग्री:
- विंडोज़ पर ओपनएसएसएच सर्वर कैसे स्थापित करें?
- विंडोज 10/विंडोज सर्वर 2019 पर एसएसएच सर्वर कॉन्फ़िगर करें
- OpenSSH सर्वर कॉन्फ़िगरेशन फ़ाइल (sshd_config)
- SSH के माध्यम से Windows 10 से कैसे कनेक्ट करें?
Windows पर OpenSSH सर्वर कैसे स्थापित करें?
आइए देखें कि विंडोज 10 1903 पर ओपनएसएसएच सर्वर फीचर कैसे स्थापित करें (विंडोज सर्वर 2019 में प्रक्रिया समान है)।
OpenSSH पैकेज (जैसे RSAT) को इन (और नए) Windows संस्करणों में फ़ीचर ऑन डिमांड (FoD) के रूप में जोड़ा गया है। ।
यदि आपके पास सीधे इंटरनेट का उपयोग है, तो आप पावरशेल का उपयोग करके ओपनएसएसएच स्थापित कर सकते हैं:
Add-WindowsCapability -Online -Name OpenSSH.Server*
या DISM का उपयोग करना:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
आप सेटिंग . के माध्यम से Windows 10 पर OpenSSH भी स्थापित कर सकते हैं पैनल (एप्लिकेशन -> ऐप्स और सुविधाएं -> वैकल्पिक सुविधाएं प्रबंधित करें -> एक सुविधा जोड़ें)। एसएसएच सर्वर खोलें खोजें सूची में और इंस्टॉल करें . क्लिक करें ।
यह सुनिश्चित करने के लिए कि ओपनएसएसएच सर्वर स्थापित किया गया है, कमांड चलाएँ:Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Ser*'
राज्य :स्थापित
Windows 10/Windows Server 2019 पर SSH सर्वर कॉन्फ़िगर करें
विंडोज़ में ओपनएसएसएच सर्वर स्थापित करने के बाद, आपको sshd . को बदलना होगा सेवा स्टार्टअप प्रकार को स्वचालित करें और PowerShell का उपयोग करके सेवा प्रारंभ करें:Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd
नेटस्टैट का उपयोग करके, सुनिश्चित करें कि SSH सर्वर चल रहा है और TCP पोर्ट पर कनेक्शन की प्रतीक्षा कर रहा है 22:netstat -na| find ":22"
सुनिश्चित करें कि विंडोज डिफेंडर फ़ायरवॉल टीसीपी पोर्ट 22 के माध्यम से विंडोज के लिए इनबाउंड कनेक्शन की अनुमति देता है:Get-NetFirewallRule -Name *OpenSSH-Server* |select Name, DisplayName, Description, Enabled
नाम डिस्प्लेनाम विवरण सक्षम ----------------------------ओपनएसएसएच-सर्वर-इन-टीसीपी ओपनएसएसएच एसएसएच सर्वर (sshd) OpenSSH SSH सर्वर (sshd) के लिए इनबाउंड नियम सही है
यदि नियम अक्षम है (सक्षम=गलत ) या अनुपलब्ध होने पर, आप New-NetFirewallRule cmdlet का उपयोग करके एक नया इनबाउंड नियम बना सकते हैं:
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
डिफ़ॉल्ट रूप से, महत्वपूर्ण OpenSSH घटक इन फ़ोल्डरों में स्थित होते हैं:
- OpenSSH सर्वर निष्पादन योग्य:
C:\Windows\System32\OpenSSH\
- द sshd_config फ़ाइल (पहली सेवा स्टार्टअप के बाद बनाई गई):
C:\ProgramData\ssh
- OpenSSH लॉग:
C:\windows\system32\OpenSSH\logs\sshd.log
- अधिकृत_की फ़ाइल और कुंजियाँ:
%USERPROFILE%\.ssh\
OpenSSH की स्थापना के बाद, कंप्यूटर पर एक नया स्थानीय उपयोगकर्ता (sshd) बनाया जाता है।
OpenSSH सर्वर कॉन्फ़िगरेशन फ़ाइल (sshd_config)
आप कॉन्फ़िगरेशन फ़ाइल में अपनी ओपनएसएसएच सर्वर सेटिंग्स बदल सकते हैं:%programdata%\ssh\sshd_config .
उदाहरण के लिए, विशिष्ट डोमेन उपयोगकर्ता खाते (या सभी डोमेन उपयोगकर्ता) के लिए SSH कनेक्शन को अस्वीकार करने के लिए, इन निर्देशों को फ़ाइल के अंत में जोड़ें:
DenyUsers woshub\[email protected] Corp\*
केवल विशिष्ट डोमेन समूह के लिए SSH कनेक्शन की अनुमति देने के लिए:
AllowGroups woshub\sshadmins
या आप किसी स्थानीय समूह तक पहुंच की अनुमति दे सकते हैं:
AllowGroup sshadmins
आप व्यवस्थापकीय विशेषाधिकारों वाले खातों तक पहुंच से इनकार कर सकते हैं। इस मामले में, यदि आपको अपने SSH सत्र में कोई विशेष कार्य करने की आवश्यकता है, तो आपको रनस का उपयोग करना होगा।
अस्वीकार समूह व्यवस्थापक
निम्नलिखित निर्देश एसएसएच को आरएसए कुंजी और पासवर्ड का उपयोग करने की अनुमति देते हैं (हम अगले लेख में एसएसएच के माध्यम से विंडोज तक पहुंचने के लिए आरएसए कुंजी का उपयोग करने के तरीके पर विस्तार से देखेंगे):
PubkeyAuthentication yesPasswordAuthentication yes
आप sshd_config फ़ाइल के पोर्ट निर्देश में OpenSSH को कनेक्शन प्राप्त करने वाले पोर्ट को बदल सकते हैं।
Sshd_config फ़ाइल में कोई भी परिवर्तन करने के बाद, आपको sshd सेवा को पुनः आरंभ करने की आवश्यकता है:
restart-service sshd
SSH के माध्यम से Windows 10 से कैसे कनेक्ट करें?
अब आप एसएसएच क्लाइंट के माध्यम से अपने विंडोज 10 से कनेक्ट करने का प्रयास कर सकते हैं (मैं पुटी का उपयोग कर रहा हूं, लेकिन आप इसके बजाय एक अंतर्निहित विंडोज एसएसएच क्लाइंट का उपयोग कर सकते हैं)।
पहले कनेक्शन पर, होस्ट को ज्ञात SSH होस्ट की सूची में जोड़ने का एक मानक अनुरोध दिखाई देगा।
हाँ क्लिक करें, और Windows उपयोगकर्ता के अंतर्गत अपने Windows 10 में लॉगऑन करें।
यदि SSH कनेक्शन सफल होता है, तो cmd.exe शेल एक प्रॉम्प्ट स्ट्रिंग के साथ प्रारंभ होगा।
<पूर्व>व्यवस्थापक@win10pc सी:\उपयोगकर्ता\व्यवस्थापक>पूर्व>
आप कमांड प्रॉम्प्ट में अलग-अलग कमांड, स्क्रिप्ट या ऐप चला सकते हैं।
मैं पावरशेल कंसोल में काम करना पसंद करता हूं। इसे शुरू करने के लिए, यह कमांड चलाएँ:
powershell.exe
OpenSSH के लिए डिफ़ॉल्ट cmd.exe शेल को PowerShell में बदलने के लिए, निम्न PowerShell कमांड का उपयोग करके रजिस्ट्री में परिवर्तन करें:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String –Force
अपने SSH कनेक्शन को पुनरारंभ करें और सुनिश्चित करें कि PowerShell अब एक डिफ़ॉल्ट SSH शेल के रूप में उपयोग किया जाता है (यह PS C:\Users\admin>
द्वारा दिखाया गया है) )।
पावरशेल कंसोल आपके एसएसएच सत्र में शुरू किया गया है, और परिचित विशेषताएं इसमें काम करती हैं:टैब स्वत:पूर्णता, PSReadLine रंग हाइलाइटिंग, कमांड इतिहास, आदि। यदि वर्तमान उपयोगकर्ता स्थानीय व्यवस्थापक समूह का सदस्य है, तो सभी सत्र आदेश उन्नत भी निष्पादित किए जाते हैं अगर यूएसी सक्षम है।