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

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

Windows 10 1809 और Windows Server 2019 को OpenSSH पर आधारित एक बिल्ट-इन SSH सर्वर मिला है। इस लेख में हम दिखाएंगे कि Windows 10 पर OpenSSH सर्वर कैसे इंस्टॉल और कॉन्फ़िगर करें और संरक्षित SSH प्रोटोकॉल पर रिमोटली इससे कनेक्ट करें (Linux की तरह ही 🙂)।

आप पिछले Windows संस्करणों में भी OpenSSH सर्वर इंस्टॉल कर सकते हैं, लेकिन आपको GitHub से मैन्युअल रूप से Win32 के लिए OpenSSH डाउनलोड और इंस्टॉल करना होगा (https://github.com/powershell/Win32-OpenSSH)। Win32-OpenSSH को इंस्टॉल और कॉन्फ़िगर करने का उदाहरण "How to Install & Configure SFTP Server (SSH FTP) on Windows?" लेख में दिया गया है।

Contents:

  • Windows पर OpenSSH सर्वर कैसे इंस्टॉल करें?
  • Windows 10/Windows Server 2019 पर SSH सर्वर कॉन्फ़िगर करें
  • OpenSSH सर्वर कॉन्फिगरेशन फ़ाइल (sshd_config)
  • SSH के माध्यम से Windows 10 से कैसे कनेक्ट करें?

Windows पर OpenSSH सर्वर कैसे इंस्टॉल करें?

आइए देखें कि Windows 10 1903 पर OpenSSH सर्वर फीचर कैसे इंस्टॉल करें (Windows Server 2019 में प्रक्रिया समान है)।

OpenSSH पैकेज (RSAT की तरह) इन (और नए) Windows संस्करणों में Feature on Demand (FoD) के रूप में जोड़ा गया है।

यदि आपके पास सीधा इंटरनेट एक्सेस है, तो आप PowerShell का उपयोग करके OpenSSH इंस्टॉल कर सकते हैं:

Add-WindowsCapability -Online -Name OpenSSH.Server*

या DISM का उपयोग करके:

dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0

आप Windows 10 पर Settings पैनल के माध्यम से भी OpenSSH इंस्टॉल कर सकते हैं (Apps -> Apps&Features -> Manage optional features -> Add a feature)। सूची में Open SSH Server ढूंढें और Install पर क्लिक करें।

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

यह सुनिश्चित करने के लिए कि OpenSSH सर्वर इंस्टॉल हो गया है, कमांड चलाएं:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Ser*'

State : Installed
बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

Windows 10/Windows Server 2019 पर SSH सर्वर कॉन्फ़िगर करें

Windows में OpenSSH सर्वर इंस्टॉल करने के बाद, आपको PowerShell का उपयोग करके sshd सर्विस स्टार्टअप प्रकार को ऑटोमैटिक में बदलना होगा और सर्विस शुरू करनी होगी:
Set-Service -Name sshd -StartupType 'Automatic'
Start-Service sshd

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

netstat का उपयोग करके, सुनिश्चित करें कि SSH सर्वर चल रहा है और TCP पोर्ट 22 पर कनेक्शन की प्रतीक्षा कर रहा है:
netstat -na| find ":22"
बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना
सुनिश्चित करें कि Windows Defender Firewall TCP पोर्ट 22 के माध्यम से Windows पर इनबाउंड कनेक्शन की अनुमति देता है:
Get-NetFirewallRule -Name *OpenSSH-Server* |select Name, DisplayName, Description, Enabled

Name DisplayName Description Enabled ---- ----------- ----------- ------- OpenSSH-Server-In-TCP OpenSSH SSH Server (sshd) Inbound rule for OpenSSH SSH Server (sshd) True
बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

यदि नियम अक्षम है (Enabled=False) या गायब है, तो आप 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
  • authorized_keys फ़ाइल और कुंजियाँ: %USERPROFILE%\.ssh\

OpenSSH इंस्टॉलेशन के बाद, कंप्यूटर पर एक नया लोकल यूजर (sshd) बनाया जाता है।

OpenSSH सर्वर कॉन्फिगरेशन फ़ाइल (sshd_config)

आप कॉन्फिग फ़ाइल में अपनी OpenSSH सर्वर सेटिंग्स बदल सकते हैं: %programdata%\ssh\sshd_config।

उदाहरण के लिए, विशिष्ट डोमेन यूजर अकाउंट (या सभी डोमेन यूजर्स) के लिए SSH कनेक्शन अस्वीकार करने के लिए, फ़ाइल के अंत में ये निर्देश जोड़ें:

DenyUsers woshub\admin@192.168.1.10 DenyUsers corp\*

केवल विशिष्ट डोमेन ग्रुप के लिए SSH कनेक्शन की अनुमति देने के लिए:

AllowGroups woshub\sshadmins

या आप लोकल ग्रुप तक पहुंच की अनुमति दे सकते हैं:

AllowGroups sshadmins

आप एडमिनिस्ट्रेटर विशेषाधिकारों वाले अकाउंट तक पहुंच से इनकार कर सकते हैं। इस मामले में, यदि आपको अपने SSH सत्र में कोई विशेषाधिकार प्राप्त कार्य करने की आवश्यकता है, तो आपको runas का उपयोग करना होगा।

DenyGroups Administrators

निम्न निर्देश RSA कुंजियों और पासवर्ड का उपयोग करके SSH एक्सेस की अनुमति देते हैं (हम अगले लेख में विस्तार से देखेंगे कि Windows के माध्यम से SSH से एक्सेस करने के लिए RSA कुंजियों का उपयोग कैसे करें):

PubkeyAuthentication yes PasswordAuthentication yes

आप sshd_config फ़ाइल के Port निर्देश में OpenSSH द्वारा कनेक्शन प्राप्त करने के लिए पोर्ट बदल सकते हैं।

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

sshd_config फ़ाइल में कोई भी परिवर्तन करने के बाद, आपको sshd सर्विस को रीस्टार्ट करना होगा:

restart-service sshd

SSH के माध्यम से Windows 10 से कैसे कनेक्ट करें?

अब आप SSH क्लाइंट (मैं PuTTY उपयोग कर रहा हूं, लेकिन आप बिल्ट-इन Windows SSH क्लाइंट का भी उपयोग कर सकते हैं) के माध्यम से अपने Windows 10 से कनेक्ट करने का प्रयास कर सकते हैं।

पहले कनेक्शन पर, ज्ञात SSH होस्ट की सूची में होस्ट जोड़ने का एक मानक अनुरोध दिखाई देगा।

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

Yes पर क्लिक करें, और Windows यूजर के तहत अपने Windows 10 पर लॉग ऑन करें।

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

यदि SSH कनेक्शन सफल होता है, तो cmd.exe शेल प्रॉम्प्ट स्ट्रिंग के साथ शुरू होगा।

admin@win10pc C:\Users\admin>
बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

आप कमांड प्रॉम्प्ट में विभिन्न कमांड, स्क्रिप्ट या ऐप चला सकते हैं।

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

मैं PowerShell कंसोल में काम करना पसंद करता हूं। इसे शुरू करने के लिए, यह कमांड चलाएं:

powershell.exe

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

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

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

अपना SSH कनेक्शन रीस्टार्ट करें और सुनिश्चित करें कि PowerShell अब डिफ़ॉल्ट SSH शेल के रूप में उपयोग किया जाता है (यह PS C:\Users\admin> द्वारा दिखाया गया है)।

बिल्ट-इन OpenSSH सर्वर का उपयोग करके Windows से SSH के माध्यम से कनेक्ट करना

PowerShell कंसोल आपके SSH सत्र में शुरू हो गया है, और परिचित विशेषताएं इसमें काम करती हैं: टैब ऑटोकंप्लीशन, PSReadLine कलर हाइलाइटिंग, कमांड हिस्ट्री, आदि। यदि वर्तमान यूजर स्थानीय एडमिनिस्ट्रेटर ग्रुप का सदस्य है, तो UAC सक्षम होने पर भी सभी सत्र कमांड एलिवेटेड निष्पादित होते हैं।

  1. पायथन के बिल्ट-इन HTTP सर्वर का उपयोग करके फ़ाइलें ट्रांसफर करना पायथन के बिल्ट-इन HTTP सर्वर का उपयोग करके फ़ाइलें ट्रांसफर करना

    नेटवर्क पर फ़ाइलें ट्रांसफर करने की आवश्यकता अक्सर उत्पन्न होती है। GNU/Linux सिस्टम ऐसा करने के लिए कई प्रोटोकॉल और टूल्स का समर्थन करते हैं, जिनमें से कुछ स्थायी फ़ाइल शेयरिंग के लिए डिज़ाइन किए गए हैं (जैसे SMB, AFP, और NFS), जबकि अन्य जैसे सिक्योर कॉपी (SCP) का उपयोग त्वरित मैन्युअल और स्क्रिप्ट

  1. फिक्स: Omegle सर्वर से कनेक्ट करने में त्रुटि फिक्स: Omegle सर्वर से कनेक्ट करने में त्रुटि

    Omegle एक चैट रूम है जहां आप दुनिया में कहीं भी एक यादृच्छिक अजनबी के साथ वीडियो चैट कर सकते हैं और यह शायद ऐसे उद्देश्य के लिए सबसे सफल वेबसाइट है। हालांकि, साइट अभी भी सर्वर से कनेक्ट करने में त्रुटि त्रुटि संदेश से जूझ रही है जो आपको इस सेवा का उपयोग करने से पूरी तरह रोकता है।समस्या आसानी से हल ह

  1. SSH के माध्यम से क्रैश हुए विंडोज PC को एक्सेस करें: एक चरण-दर-चरण गाइड SSH के माध्यम से क्रैश हुए विंडोज PC को एक्सेस करें: एक चरण-दर-चरण गाइड

    कभी-कभी आपका सिस्टम अचानक क्रैश हो जाता है और आपके किसी भी कमांड का जवाब देना बंद कर देता है। स्थिति तब और खराब हो जाती है जब आप अपने कंप्यूटर पर कुछ महत्वपूर्ण एक्सेस करना चाहते हैं लेकिन ऐसा नहीं कर सकते क्योंकि कंप्यूटर अनुपयोगी है। खैर, चिंता न करें, अब आप एक दोषपूर्ण विंडोज PC को एक्सेस करने और