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

ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना

आप SFTP का उपयोग करके क्लाइंट और Windows सर्वर के बीच सुरक्षित फ़ाइल स्थानांतरण को आसानी से व्यवस्थित करने के लिए Windows के लिए आधिकारिक OpenSSH पैकेज का उपयोग कर सकते हैं (सुरक्षित एफ़टीपी ) मसविदा बनाना। इस लेख में, हम दिखाएंगे कि Windows 10 या Windows Server 2016/2012 R2 पर SFTP सर्वर चलाने के लिए Win32-OpenSSH का उपयोग कैसे करें।

सामग्री:

  • एसएफ़टीपी क्या है?
  • Windows में SFTP कार्यान्वयन
  • Windows 10 1803+/Windows Server 2019 पर Win32 OpenSSH इंस्टॉल करना
  • Windows Server 2016/2012 R2 पर Win32 OpenSSH स्थापित करें
  • WinSCP का उपयोग करके SFTP कनेक्शन का परीक्षण
  • Win32 OpenSSH को कैसे अनइंस्टॉल करें?

एसएफ़टीपी क्या है?

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

एसएफटीपी के मुख्य लाभ:

  1. फ़ाइलें और आदेश सुरक्षित SSH सत्र के अंदर स्थानांतरित किए जाते हैं;
  2. फाइल और कमांड दोनों भेजने के लिए एक कनेक्शन का उपयोग किया जाता है;
  3. प्रतीकात्मक लिंक, इंटरप्ट/रिज्यूम ट्रांसफर, फाइल डिलीट फंक्शन आदि समर्थित हैं;
  4. एक नियम के रूप में, उन चैनलों में जहां एफ़टीपी धीमा है या विफल हो रहा है, एसएफ़टीपी कनेक्शन तेज़ और अधिक विश्वसनीय है;
  5. SSH कुंजियों का उपयोग करके प्रमाणित करने की संभावना।
SFTP और FTPS प्रोटोकॉल को भ्रमित न करें। एफटीपीएस अनिवार्य रूप से एक एसएसएल प्रमाणपत्र के साथ एक साधारण एफ़टीपी है, और एसएफटीपी एसएसएच सत्र के अंदर एफ़टीपी डेटा और कमांड भेजने का प्रोटोकॉल है।

Windows में SFTP कार्यान्वयन

ऐतिहासिक रूप से, विंडोज ऑपरेशन सिस्टम एक सुरक्षित एसएफटीपी सर्वर चलाने के लिए कोई अंतर्निहित उपकरण प्रदान नहीं करता है। इन उद्देश्यों के लिए, कोर FTP, FileZilla, CYGWIN, OpenSSH, FTP शेल, IPSwitch, आदि जैसे ओपन-सोर्स या मालिकाना समाधानों का उपयोग किया गया है। हालाँकि, कई साल पहले Microsoft ने Win32 के लिए OpenSSH पोर्ट का अपना संस्करण जारी किया था। इस प्रोजेक्ट को Win32-OpenSSH . कहा जाता है ।

आइए Win32 OpenSSH का उपयोग करके Windows 10 या Windows Server 2019/2016/2012 R2 चलाने वाले SFTP सर्वर के कॉन्फ़िगरेशन पर विचार करें पैकेज।

Windows 10 1803+/Windows Server 2019 पर Win32 OpenSSH इंस्टॉल करना

विंडोज 10 बिल्ड 1803 और नए और विंडोज सर्वर 2019 में, ओपनएसएसएच पैकेज पहले से ही आरएसएटी जैसे फीचर ऑन डिमांड (एफओडी) के रूप में ऑपरेटिंग सिस्टम में शामिल है।

आप निम्न PowerShell cmdlet का उपयोग करके Windows 10 और Windows Server 2019 पर OpenSSH सर्वर स्थापित कर सकते हैं:

Add-WindowsCapability -Online -Name OpenSSH.Server*

या DISM का उपयोग करना:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0

इसके अलावा आप विंडोज 10 जीयूआई से ओपनएसएसएच सर्वर जोड़ सकते हैं (सेटिंग्स -> ऐप्स -> वैकल्पिक सुविधाएं -> एक सुविधा जोड़ें -> एसएसएच सर्वर खोलें -> इंस्टॉल करें )।

ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना

  • OpenSSH निष्पादन योग्य निर्देशिका में स्थित हैं:c:\windows\system32\OpenSSH\;
  • sshd_config कॉन्फ़िगरेशन फ़ाइल निर्देशिका में स्थित है:C:\ProgramData\ssh (यह निर्देशिका sshd सेवा की पहली शुरुआत के बाद बनाई गई है);
  • लॉग फ़ाइल:c:\windows\system32\OpenSSH\logs\sshd.log;
  • Authorized_keys फ़ाइल और कुंजियों को एक निर्देशिका में संग्रहीत किया जाता है:%USERPROFILE%\.ssh\

अब आप लिनक्स की तरह एसएसएच के माध्यम से विंडोज 10 से जुड़ सकते हैं।

Windows Server 2016/2012 R2 पर Win32 OpenSSH इंस्टॉल करें

Windows 10 के पिछले संस्करणों में और Windows Server 2016/2012 R2 में, आपको GitHub (https://github.com/PowerShell/Win32-OpenSSH/releases) से OpenSSH को डाउनलोड और इंस्टॉल करना होगा। आपको Windows x64 के लिए एक पैकेज संस्करण डाउनलोड करने की आवश्यकता है:OpenSSH-Win64.zip (3,5 एमबी) ।

  1. संग्रह को लक्ष्य निर्देशिका में निकालें:C:\OpenSSH-Win;
  2. उन्नत पावरशेल क्ली शुरू करें और ओपनएसएसएच फ़ोल्डर में स्विच करें:Cd C:\OpenSSH-Win
  3. ओपनएसएसएच निर्देशिका के पथ को पथ पर्यावरण चर में जोड़ें (सिस्टम गुण -> उन्नत टैब -> पर्यावरण चर -> पथ चुनें और संपादित करें सिस्टम चर -> ओपनएसएसएच फ़ोल्डर में पथ जोड़ें); ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना
  4. ओपनएसएसएच सर्वर स्थापित करें:.\install-sshd.ps1 (एक हरा संदेश दिखाई देना चाहिए "sshd और ssh-agent सेवाएं सफलतापूर्वक स्थापित "); ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना
  5. सर्वर के लिए SSH कुंजियाँ बनाएँ (sshd सेवा प्रारंभ करने के लिए आवश्यक):
    ssh-keygen.exe –A ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519 ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना
  6. SSHD सेवा के लिए ऑटोस्टार्ट सक्षम करें और निम्न PowerShell सेवा प्रबंधन आदेशों का उपयोग करके इसे प्रारंभ करें:
    Set-Service -Name sshd -StartupType ‘Automatic’
    Start-Service sshd
  7. अपना कंप्यूटर रीस्टार्ट करें:
    Restart-Computer
  8. आने वाले SSH ट्रैफ़िक के लिए Windows फ़ायरवॉल में TCP पोर्ट 22 खोलने के लिए PowerShell का उपयोग करें: New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना नोट . पिछला आदेश पुराने डेस्कटॉप विंडोज संस्करणों में काम नहीं करेगा। इस मामले में एक अन्य कमांड का उपयोग किया जाता है: netsh advfirewall firewall add rule name='SSH Port' dir=in action=allow protocol=TCP localport=22
  9. किसी भी टेक्स्ट एडिटर में SSHD कॉन्फ़िगरेशन फ़ाइल (C:\ProgramData\SSH\sshd_config) खोलें। सबसिस्टम sftp . का मान ढूंढें और जांचें निर्देश। sftp-server.exe फ़ाइल यहां निर्दिष्ट की जानी चाहिए। ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना
आप sshd_config कॉन्फ़िगरेशन फ़ाइल में निम्न पैरामीटर को अतिरिक्त रूप से कॉन्फ़िगर कर सकते हैं:

AllowGroups corp\sftp_users # केवल इस डोमेन समूह के उपयोगकर्ताओं के लिए OpenSSH से जुड़ने की अनुमति दें

AuthenticationMethods password # पासवर्ड प्रमाणीकरण सक्षम करें (SSH कुंजियों का उपयोग नहीं किया जा सकता)
ForceCommand internal-sftp
ChrootDirectory C:\inetpub\wwwroot\ftpfolder # SFTP उपयोगकर्ताओं के लिए डिफ़ॉल्ट निर्देशिका

WinSCP का उपयोग करके SFTP कनेक्शन का परीक्षण करना

आइए SFTP प्रोटोकॉल का उपयोग करके बनाए गए SSH सर्वर से कनेक्ट करने का प्रयास करें। ऐसा करने के लिए, मुफ़्त WinSCP . का उपयोग करें क्लाइंट.

कनेक्शन कॉन्फ़िगरेशन विंडो में, SFTP . चुनें फ़ाइल स्थानांतरण प्रोटोकॉल के रूप में, सर्वर नाम और Windows खाते के क्रेडेंशियल निर्दिष्ट करें, जो कनेक्शन के लिए उपयोग किया जाता है (कुंजी प्रमाणीकरण को कॉन्फ़िगर करना भी संभव है)।

ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना

जब आप पहली बार कनेक्ट करने का प्रयास करते हैं, तो स्थानीय कैश में नहीं मिली होस्ट कुंजी की निम्न सूचना प्रकट होती है।

ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना

यदि सब कुछ सही ढंग से कॉन्फ़िगर किया गया है, तो क्लाइंट SFTP सर्वर से कनेक्ट होगा और उपयोगकर्ता होम निर्देशिका में फ़ाइलों की सूची प्रदर्शित करेगा (डिफ़ॉल्ट रूप से, यह उपयोगकर्ता प्रोफ़ाइल वाली निर्देशिका है)।

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

ओपनएसएसएच के साथ विंडोज़ पर एसएफटीपी (एसएसएच एफ़टीपी) सर्वर स्थापित करना

Win32 OpenSSH को अनइंस्टॉल कैसे करें?

अपने सिस्टम से Win32 OpenSSH को सही तरीके से अनइंस्टॉल करने के लिए:

  1. उन्नत पावरशेल सत्र चलाएं;
  2. SSHD सेवा बंद करें:
    Stop-Service sshd
  3. sshd सेवा को अनइंस्टॉल करें:.\uninstall-sshlsa.ps1
    sshd successfully uninstalled
    ssh-agent successfully uninstalled


  1. इंटरनेट टाइम सर्वर के साथ विंडोज 10 क्लॉक को सिंक्रोनाइज़ करें

    Windows 10 घड़ी को इंटरनेट के साथ सिंक्रोनाइज़ करें टाइम सर्वर:  यदि आपने विंडोज 10 में घड़ी को स्वचालित रूप से समय निर्धारित करने के लिए सेट किया है, तो आप इस बात से अवगत हो सकते हैं कि वर्तमान समय समय को अपडेट करने के लिए इंटरनेट टाइम सर्वर के साथ सिंक्रनाइज़ है। इसका मतलब है कि आपके पीसी के टास्क

  1. Windows 10 पर FTP सर्वर कैसे सेटअप और प्रबंधित करें?

    विंडोज 10 पर फाइल ट्रांसफर प्रोटोकॉल सर्वर एक उपयोगकर्ता को वस्तुतः कहीं से भी आपके पीसी पर फाइल डाउनलोड और अपलोड करने में सक्षम बनाता है। जब आप फ़ाइल ट्रांसफर प्रोटोकॉल सर्वर का उपयोग करते हैं जिसे एफ़टीपी भी कहा जाता है, तो आप एक निजी क्लाउड विकसित कर रहे हैं जिसके लिए आपका सर्वोच्च नियंत्रण है। इ

  1. एक दोषपूर्ण विंडोज पीसी तक पहुंचने के लिए SSH सर्वर का उपयोग कैसे करें

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