अंतर्निहित SSH क्लाइंट Windows 10 और Windows Server 2019 में दिखाई दिया। Ssh.exe का उपयोग Putty, MTPuTTY और अन्य थर्ड-पार्टी SSH क्लाइंट के बजाय Linux/UNIX सर्वर, VMWare ESXi होस्ट और अन्य डिवाइस से सुरक्षित रूप से कनेक्ट करने के लिए किया जा सकता है। नेटिव Windows SSH क्लाइंट OpenSSH पोर्ट पर आधारित है और Windows 10 बिल्ड 1809 से प्रीइंस्टॉल्ड है।
Windows 10 पर OpenSSH क्लाइंट को कैसे सक्षम (इंस्टॉल) करें?
OpenSSH क्लाइंट Windows 10 Features on Demand में शामिल है (RSAT की तरह)। SSH क्लाइंट Windows Server 2019, Windows 10 1809 और नए बिल्ड पर डिफ़ॉल्ट रूप से इंस्टॉल है।
जांचें कि SSH क्लाइंट इंस्टॉल है:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH.Client*'

हमारे उदाहरण में, OpenSSH क्लाइंट इंस्टॉल है (State: Installed)।
यदि नहीं (State: Not Present), तो आप इसे इंस्टॉल कर सकते हैं:
- PowerShell कमांड:
Add-WindowsCapability -Online -Name OpenSSH.Client* - DISM के साथ:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0 - Settings -> Apps -> Optional features -> Add a feature के माध्यम से। सूची में OpenSSH client ढूंढें और Install पर क्लिक करें।

OpenSSH बाइनरी फ़ाइलें c:\Windows\System32\OpenSSH\ में स्थित हैं।
ssh.exe– SSH क्लाइंट एक्जीक्यूटेबल;scp.exe– SSH सत्र में फ़ाइलें कॉपी करने का टूल;ssh-keygen.exe– RSA SSH प्रमाणीकरण कुंजियाँ जनरेट करने का टूल;ssh-agent.exe– RSA कुंजियों को प्रबंधित करने के लिए उपयोग किया जाता है;ssh-add.exe– SSH एजेंट डेटाबेस में एक कुंजी जोड़ता है।

आप पिछले Windows संस्करणों पर भी OpenSSH इंस्टॉल कर सकते हैं: बस GitHub से Win32-OpenSSH डाउनलोड और इंस्टॉल करें (आप SSH FTP सर्वर को Windows पर कॉन्फ़िगर करने के लेख में एक उदाहरण पा सकते हैं)।
Windows 10 पर नेटिव SSH क्लाइंट का उपयोग करना
SSH क्लाइंट शुरू करने के लिए, PowerShell या cmd.exe प्रॉम्प्ट चलाएं। आप ssh.exe के लिए उपलब्ध विकल्प और सिंटैक्स सूचीबद्ध कर सकते हैं:
ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] [-F configfile] [-I pkcs11] [-i identity_file] [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address] [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]] destination [command]

SSH का उपयोग करके रिमोट सर्वर से कनेक्ट करने के लिए, निम्न कमांड का उपयोग करें:
ssh username@host
यदि आपका SSH सर्वर मानक TCP/22 से भिन्न पोर्ट पर चल रहा है, तो पोर्ट नंबर निर्दिष्ट करें:
ssh username@host -p port
उदाहरण के लिए, IP एड्रेस 192.168.1.102 वाले Linux होस्ट से root के रूप में कनेक्ट करने के लिए, यह कमांड चलाएं:
ssh root@192.168.1.102
पहले कनेक्शन पर, आपको होस्ट कुंजी को विश्वसनीय सूची में जोड़ने का अनुरोध दिखाई देगा। yes टाइप करें और ENTER दबाएं। फिर होस्ट कुंजी फिंगरप्रिंट C:\Users\username\.ssh\known_hosts फ़ाइल में जोड़ दी जाती है।
आपसे पासवर्ड के लिए कहा जाएगा। अपना रूट पासवर्ड निर्दिष्ट करें, और आपके रिमोट Linux सर्वर का कंसोल खुल जाना चाहिए (मेरे उदाहरण में, रिमोट सर्वर पर CentOS इंस्टॉल है)।

SSH का उपयोग करके, आप *Nix OS और Windows दोनों से कनेक्ट कर सकते हैं। पिछले लेखों में से एक में, हमने दिखाया कि Windows 10 में OpenSSH सर्वर कैसे कॉन्फ़िगर करें और Windows होस्ट से SSH क्लाइंट का उपयोग करके उससे कनेक्ट करें।
यदि आप RSA कुंजियों के साथ SSH प्रमाणीकरण का उपयोग करते हैं (Windows में SSH कुंजियों का उपयोग करके प्रमाणीकरण कॉन्फ़िगर करने का उदाहरण देखें), तो आप अपने SSH क्लाइंट में प्राइवेट की फ़ाइल का पथ इस प्रकार निर्दिष्ट कर सकते हैं:
ssh root@192.168.1.102 -i "C:\Users\username\.ssh\id_rsa"
आप प्राइवेट कुंजी को SSH-Agent में भी जोड़ सकते हैं। सबसे पहले, ssh-agent सेवा सक्षम करें और इसके लिए ऑटोमैटिक स्टार्टअप कॉन्फ़िगर करें।
set-service ssh-agent StartupType 'Automatic'
Start-Service ssh-agent
अपनी प्राइवेट कुंजी को ssh-agent डेटाबेस में जोड़ें:
ssh-add "C:\Users\username\.ssh\id_rsa"
फिर आप SSH के माध्यम से अपने सर्वर से कनेक्ट कर पाएंगे बिना RSA कुंजी का पथ निर्दिष्ट किए। इसका स्वचालित रूप से उपयोग किया जाएगा। अब आप पासवर्ड के बिना सुरक्षित रूप से अपने सर्वर से कनेक्ट कर सकते हैं (यदि आपने अपनी RSA कुंजी को अलग पासवर्ड से सुरक्षित नहीं किया है):
ssh root@192.168.1.102
यहां कुछ और उपयोगी SSH आर्ग्यूमेंट्स हैं:
-C– क्लाइंट और सर्वर के बीच ट्रैफिक को कंप्रेस करने के लिए उपयोग किया जाता है (धीमे या अस्थिर कनेक्शन के मामले में उपयोगी)-v– SSH क्लाइंट के सभी कार्यों के बारे में विस्तृत जानकारी प्रदर्शित करता है-R/-L– SSH टनल का उपयोग करके पोर्ट फॉरवर्ड करने के लिए उपयोग किया जा सकता है
SSH का उपयोग करके Windows होस्ट से/पर फ़ाइलें ट्रांसफर करने के लिए SCP.exe का उपयोग करना
scp.exe टूल का उपयोग करके (Windows 10 SSH क्लाइंट पैकेज का हिस्सा), आप अपने कंप्यूटर से SSH सर्वर पर फ़ाइल कॉपी कर सकते हैं:
scp.exe "E:\ISO\CentOS-8.1.x86_64.iso" root@192.168.1.202:/home

आप सभी डायरेक्टरी कंटेंट को रिकर्सिवली कॉपी कर सकते हैं:
scp -r E:\ISO\ root@192.168.1.202:/home
और इसके विपरीत, आप रिमोट सर्वर से अपने कंप्यूटर पर फ़ाइल ट्रांसफर कर सकते हैं:
scp.exe root@192.168.1.202:/home/CentOS-8.1.x86_64.iso c:\iso
यदि आप RSA कुंजियों का उपयोग करके प्रमाणीकरण कॉन्फ़िगर करते हैं, तो फ़ाइलें ट्रांसफर करने के लिए आपको अपना पासवर्ड दर्ज करने के लिए प्रेरित नहीं किया जाएगा। यह उपयोगी है यदि आप स्वचालित शेड्यूल्ड फ़ाइल कॉपी कॉन्फ़िगर करना चाहते हैं।
इस प्रकार, आप अपने Windows 10 से सीधे SSH सर्वर से कनेक्ट कर सकते हैं, किसी अन्य थर्ड-पार्टी ऐप या टूल के बिना scp का उपयोग करके फ़ाइलें कॉपी कर सकते हैं।