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

OpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करना

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

SFTP क्या है?

SFTP (Secure File Transfer Protocol, Secure FTP या SSH FTP) SSH प्रोटोकॉल का विस्तार है, जो UNIX/Linux सिस्टम की दुनिया में एक मानक है। उपयोगकर्ता के दृष्टिकोण से, यह FTP के समान है, लेकिन वास्तव में, यह एक पूरी तरह से अलग प्रोटोकॉल है, जिसका FTP से कोई लेना-देना नहीं है। डेटा क्लाइंट और सर्वर के बीच SSH टनल (TCP पोर्ट 22) के माध्यम से ट्रांसफर किया जाता है।

SFTP के मुख्य लाभ:

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

SFTP और FTPS प्रोटोकॉल को भ्रमित न करें। FTPS अनिवार्य रूप से सिर्फ एक SSL सर्टिफिकेट के साथ सिंपल FTP है, और SFTP FTP डेटा और कमांड को SSH सत्र के अंदर भेजने का प्रोटोकॉल है।

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

ऐतिहासिक रूप से, Windows ऑपरेटिंग सिस्टम सुरक्षित SFTP सर्वर चलाने के लिए कोई अंतर्निहित टूल प्रदान नहीं करते हैं। इन उद्देश्यों के लिए, Core FTP, FileZilla, CYGWIN, OpenSSH, FTP Shell, 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 इंस्टॉल करना

Windows 10 बिल्ड 1803 और नए और Windows Server 2019 में, OpenSSH पैकेज पहले से ही ऑपरेटिंग सिस्टम में Feature on Demand (FoD) के रूप में RSAT की तरह शामिल है।

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

Add-WindowsCapability -Online -Name OpenSSH.Server*

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

आप Windows 10 GUI (Settings -> Apps -> Optional Features -> Add a feature -> Open SSH Server -> Install) से OpenSSH सर्वर भी जोड़ सकते हैं।

OpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करना

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

अब आप Linux की तरह Windows 10 से SSH के माध्यम से कनेक्ट कर सकते हैं।

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 MB)।

  1. आर्काइव को टारगेट डायरेक्टरी में निकालें: C:\OpenSSH-Win;
  2. उन्नत PowerShell CLI शुरू करें और OpenSSH फ़ोल्डर पर स्विच करें: Cd C:\OpenSSH-Win
  3. Path एनवायरनमेंट वेरिएबल में OpenSSH डायरेक्टरी का पथ जोड़ें (System Properties -> Advanced टैब -> Environment Variables -> Path सिस्टम वेरिएबल चुनें और संपादित करें -> OpenSSH फ़ोल्डर का पथ जोड़ें); OpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करना
  4. OpenSSH सर्वर इंस्टॉल करें: .\install-sshd.ps1 (एक हरा संदेश दिखाई देना चाहिए "sshd and ssh-agent services successfully installed");OpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करना
  5. सर्वर के लिए SSH कुंजियाँ जनरेट करें (sshd सेवा शुरू करने के लिए आवश्यक):
    ssh-keygen.exe –Assh-keygen: generating new host keys: RSA DSA ECDSA ED25519OpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करना
  6. निम्न PowerShell सेवा प्रबंधन कमांड का उपयोग करके SSHD सेवा के लिए ऑटोस्टार्ट सक्षम करें और इसे शुरू करें:
    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 SSHOpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करनानोट. पिछली कमांड पुराने डेस्कटॉप Windows संस्करणों में काम नहीं करेगी। इस मामले में दूसरी कमांड का उपयोग किया जाता है: netsh advfirewall firewall add rule name='SSH Port' dir=in action=allow protocol=TCP localport=22
  9. SSHD कॉन्फ़िगरेशन फ़ाइल (C:\ProgramData\SSH\sshd_config) को किसी भी टेक्स्ट एडिटर में खोलें। Subsystem sftp डायरेक्टिव का मान ढूंढें और जांचें। यहां sftp-server.exe फ़ाइल निर्दिष्ट होनी चाहिए।OpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करना

आप sshd_config कॉन्फ़िगरेशन फ़ाइल में निम्न पैरामीटर्स को अतिरिक्त रूप से कॉन्फ़िगर कर सकते हैं:

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

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

WinSCP का उपयोग करके SFTP कनेक्शन टेस्ट करना

आइए फ्री WinSCP क्लाइंट का उपयोग करके बनाए गए SSH सर्वर से SFTP प्रोटोकॉल का उपयोग करके कनेक्ट करने का प्रयास करें।

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

OpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करना

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

OpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करना

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

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

OpenSSH के साथ Windows पर SFTP (SSH FTP) सर्वर इंस्टॉल करना

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

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

  1. उन्नत PowerShell सत्र चलाएं;
  2. SSHD सेवा बंद करें:
    Stop-Service sshd
  3. sshd सेवा अनइंस्टॉल करें: .\uninstall-sshlsa.ps1
    sshd successfully uninstalled ssh-agent successfully uninstalled
  1. विंडोज 10 क्लॉक को सटीक रखें: इंटरनेट टाइम सर्वर के साथ सिंक्रनाइज़ करें विंडोज 10 क्लॉक को सटीक रखें: इंटरनेट टाइम सर्वर के साथ सिंक्रनाइज़ करें

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

  1. विंडोज 10 पर FTP सर्वर सेट अप और प्रबंधित करने के लिए चरण-दर-चरण मार्गदर्शिका विंडोज 10 पर FTP सर्वर सेट अप और प्रबंधित करने के लिए चरण-दर-चरण मार्गदर्शिका

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

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

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