SSH, FTP, Ping, Telnet: Linux Networking Commands Tutorial 12
विषयसूची:
- ओपनएसएसएच क्लाइंट स्थापित करना
- लिनक्स पर OpenSSH क्लाइंट स्थापित करना
- उबंटू और डेबियन पर ओपनएसएसएच स्थापित करना
- CentOS और फेडोरा पर OpenSSH स्थापित करना
- विंडोज 10 पर ओपनएसएसएच क्लाइंट स्थापित करना
- MacOS पर OpenSSH क्लाइंट स्थापित करना
ssh
कमांड का उपयोग कैसे करें- SSH कॉन्फ़िग फ़ाइल
- पोर्ट फॉरवार्डिंग
- स्थानीय पोर्ट अग्रेषण
- रिमोट पोर्ट अग्रेषण
- डायनेमिक पोर्ट फ़ॉरवर्डिंग
- निष्कर्ष
सिक्योर शेल (SSH) एक क्रिप्टोग्राफिक नेटवर्क प्रोटोकॉल है जिसका उपयोग क्लाइंट और सर्वर के बीच एन्क्रिप्टेड कनेक्शन के लिए किया जाता है। Ssh क्लाइंट दूरस्थ मशीन पर SSH सर्वर के लिए एक सुरक्षित कनेक्शन बनाता है। एन्क्रिप्टेड कनेक्शन का उपयोग सर्वर पर कमांड निष्पादित करने के लिए किया जा सकता है, X11 टनलिंग, पोर्ट फ़ॉरवर्डिंग, और बहुत कुछ।
ओपन और कमर्शियल दोनों तरह के एसएसएच क्लाइंट उपलब्ध हैं, जिनमें ओपनएसएसएच सबसे ज्यादा इस्तेमाल किया जाने वाला क्लाइंट है। यह लिनक्स, ओपनबीएसडी, विंडोज, मैकओएस और अन्य सहित सभी प्रमुख प्लेटफार्मों पर उपलब्ध है।
, हम बताएंगे कि किसी दूरस्थ मशीन में लॉगिन करने और कमांड चलाने या अन्य ऑपरेशन करने के लिए ओपनएसएसएच कमांड लाइन क्लाइंट (
ssh
) का उपयोग कैसे करें।
ओपनएसएसएच क्लाइंट स्थापित करना
OpenSSH क्लाइंट प्रोग्राम को
ssh
कहा जाता है और इसे टर्मिनल से मंगवाया जा सकता है। ओपनएसएसएच क्लाइंट पैकेज
ssh
कमांड के साथ स्थापित किए गए अन्य एसएसएच उपयोगिताओं जैसे कि
scp
और
sftp
भी प्रदान करता है।
लिनक्स पर OpenSSH क्लाइंट स्थापित करना
ओपनएसएसएच क्लाइंट डिफ़ॉल्ट रूप से अधिकांश लिनक्स वितरण पर प्रीइंस्टॉल्ड होता है। यदि आपके सिस्टम में ssh क्लाइंट स्थापित नहीं है, तो आप इसे अपने वितरण के पैकेज मैनेजर का उपयोग करके स्थापित कर सकते हैं।
उबंटू और डेबियन पर ओपनएसएसएच स्थापित करना
sudo apt update
sudo apt install openssh-client
CentOS और फेडोरा पर OpenSSH स्थापित करना
sudo dnf install openssh-clients
विंडोज 10 पर ओपनएसएसएच क्लाइंट स्थापित करना
अधिकांश विंडोज उपयोगकर्ता SSH के ऊपर रिमोट मशीन से कनेक्ट करने के लिए पुट्टी का उपयोग कर रहे हैं। हालाँकि, Windows 10 के नवीनतम संस्करणों में OpenSSH क्लाइंट और सर्वर शामिल हैं। दोनों पैकेज जीयूआई या पावरशेल के माध्यम से स्थापित किए जा सकते हैं।
ओपनएसएसएच पैकेज का सटीक नाम जानने के लिए, निम्न कमांड टाइप करें:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
कमांड को कुछ इस तरह लौटना चाहिए:
Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent
एक बार जब आप पैकेज का नाम जान लेते हैं तो उसे चलाकर स्थापित करें:
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
सफलता पर आउटपुट कुछ इस तरह दिखाई देगा:
Path: Online: True RestartNeeded: False
MacOS पर OpenSSH क्लाइंट स्थापित करना
डिफ़ॉल्ट रूप से स्थापित OpenSSH क्लाइंट के साथ macOS जहाज।
ssh
कमांड का उपयोग कैसे करें
एसएसएच के माध्यम से दूरस्थ मशीन में प्रवेश करने में सक्षम होने के लिए निम्नलिखित आवश्यकताओं को पूरा किया जाना चाहिए:
- SSH सर्वर को दूरस्थ मशीन पर चलना चाहिए। SSH पोर्ट दूरस्थ मशीन फ़ायरवॉल में खुला होना चाहिए। आपको उपयोगकर्ता नाम और दूरस्थ खाते का पासवर्ड पता होना चाहिए। दूरस्थ लॉगिन के लिए खाते में उचित विशेषाधिकार होना चाहिए।
ssh
कमांड का मूल सिंटैक्स इस प्रकार है:
ssh:HOST
ssh
कमांड का उपयोग करने के लिए अपना टर्मिनल या पावरशेल खोलें और दूरस्थ होस्टनाम के बाद
ssh
टाइप करें:
ssh ssh.linuxize.com
जब आप पहली बार SSH के माध्यम से रिमोट मशीन से जुड़ते हैं, तो आपको नीचे जैसा संदेश दिखाई देगा।
The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?
प्रत्येक होस्ट में एक अद्वितीय फ़िंगरप्रिंट होता है जिसे
~/.ssh/known_hosts
फ़ाइल में संग्रहीत किया जाता है।
रिमोट फिंगरप्रिंट स्टोर करने के लिए
yes
टाइप करें, और आपको अपना पासवर्ड दर्ज करने के लिए प्रेरित किया जाएगा।
Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:
पासवर्ड डालते ही आप रिमोट मशीन में लॉग इन हो जाएंगे।
जब उपयोगकर्ता नाम नहीं दिया जाता है,
ssh
कमांड वर्तमान सिस्टम लॉगिन नाम का उपयोग करता है।
एक अलग उपयोगकर्ता के रूप में लॉग इन करने के लिए, निम्नलिखित प्रारूप में उपयोगकर्ता नाम और होस्ट निर्दिष्ट करें:
ssh username@hostname
उपयोगकर्ता नाम
-l
विकल्प के साथ भी निर्दिष्ट किया जा सकता है:
ssh -l username hostname
डिफ़ॉल्ट रूप से, जब कोई पोर्ट नहीं दिया जाता है, तो SSH क्लाइंट पोर्ट 22 पर रिमोट सर्वर से कनेक्ट करने का प्रयास करेगा। कुछ सर्वरों पर, प्रशासक डिफ़ॉल्ट एसएसएच पोर्ट को सर्वर के अतिरिक्त सुरक्षा स्तर को जोड़ने के लिए जोखिम को कम करके बदल रहे हैं। स्वचालित हमले।
गैर-डिफ़ॉल्ट पोर्ट पर कनेक्ट करने के लिए, पोर्ट निर्दिष्ट करने के लिए
-p
विकल्प का उपयोग करें:
ssh -p 5522 username@hostname
ssh -v username@hostname
वर्बोसिटी के स्तर को बढ़ाने के लिए,
-vv
या
-vvv
उपयोग करें।
ssh
कमांड कई विकल्पों को स्वीकार करता है।
सभी विकल्पों की पूरी सूची के लिए अपने टर्मिनल में
man ssh
टाइप करके
ssh
मैन पेज पढ़ें।
SSH कॉन्फ़िग फ़ाइल
OpenSSH क्लाइंट प्रति-उपयोगकर्ता कॉन्फ़िगरेशन फ़ाइल (
~/.ssh/config
) में सेट किए गए विकल्पों को पढ़ता है। इस फ़ाइल में, आप जिस भी रिमोट मशीन से जुड़ते हैं, उसके लिए अलग-अलग SSH विकल्प स्टोर कर सकते हैं।
एक नमूना एसएसएच विन्यास नीचे दिखाया गया है:
Host dev HostName dev.linuxize.com User mike Port 4422
जब आप
ssh dev
टाइप करके ssh क्लाइंट का आह्वान करते हैं तो कमांड
~/.ssh/config
फाइल पढ़ेगा और कनेक्शन विवरण का उपयोग करेगा जो कि देव होस्ट के लिए निर्दिष्ट है। इस उदाहरण में,
ssh dev
निम्नलिखित के बराबर है:
ssh -p 4422 [email protected]
अधिक जानकारी के लिए, SSH कॉन्फ़िग फ़ाइल पर लेख देखें।
सार्वजनिक कुंजी प्रमाणीकरण
SSH प्रोटोकॉल विभिन्न प्रमाणीकरण तंत्रों का समर्थन करता है।
सार्वजनिक कुंजी-आधारित प्रमाणीकरण तंत्र आपको अपना पासवर्ड टाइप किए बिना दूरस्थ सर्वर में लॉग इन करने की अनुमति देता है।
यह विधि क्रिप्टोग्राफ़िक कुंजियों की एक जोड़ी बनाकर काम करती है जो प्रमाणीकरण के लिए उपयोग की जाती हैं। निजी कुंजी क्लाइंट डिवाइस पर संग्रहीत होती है, और सार्वजनिक कुंजी को प्रत्येक दूरस्थ सर्वर पर स्थानांतरित किया जाता है जिसे आप लॉग इन करना चाहते हैं। दूरस्थ सर्वर को कुंजी प्रमाणीकरण स्वीकार करने के लिए कॉन्फ़िगर किया जाना चाहिए।
ssh-keygen -t rsa -b 4096 -C "[email protected]"
आपको एक सुरक्षित पासफ़्रेज़ टाइप करने के लिए कहा जाएगा। आप चाहे तो पासफ्रेज का उपयोग कर सकते हैं।
एक बार जब आप अपनी कुंजी जोड़ी लेते हैं, तो सार्वजनिक कुंजी को दूरस्थ सर्वर पर कॉपी करें:
ssh-copy-id username@hostname
दूरस्थ उपयोगकर्ता पासवर्ड दर्ज करें, और सार्वजनिक कुंजी को दूरस्थ उपयोगकर्ता
authorized_keys
फ़ाइल में जोड़ा जाएगा।
एक बार कुंजी अपलोड होने के बाद, आप पासवर्ड के लिए संकेत दिए बिना दूरस्थ सर्वर में प्रवेश कर सकते हैं।
कुंजी-आधारित प्रमाणीकरण सेट करके, आप लॉगिन प्रक्रिया को सरल बना सकते हैं और समग्र सर्वर सुरक्षा बढ़ा सकते हैं।
पोर्ट फॉरवार्डिंग
SSH टनलिंग या SSH पोर्ट फ़ॉरवर्डिंग एक क्लाइंट और सर्वर मशीन के बीच एक एन्क्रिप्टेड SSH कनेक्शन बनाने की एक विधि है जिसके माध्यम से सर्विस पोर्ट्स को रिले किया जा सकता है।
SSH अग्रेषण सेवाओं के नेटवर्क डेटा को ट्रांसपोर्ट करने के लिए उपयोगी है, जो कि वीएनसी या एफ़टीपी जैसे अनएन्क्रिप्टेड प्रोटोकॉल का उपयोग करते हैं, जो भू-प्रतिबंधित सामग्री तक पहुँचते हैं या मध्यवर्ती फायरवॉल को दरकिनार करते हैं। मूल रूप से, आप किसी भी टीसीपी पोर्ट को अग्रेषित कर सकते हैं और सुरक्षित एसएसएच कनेक्शन पर ट्रैफिक को टनल कर सकते हैं।
एसएसएच पोर्ट अग्रेषण के तीन प्रकार हैं:
स्थानीय पोर्ट अग्रेषण
स्थानीय पोर्ट फ़ॉरवर्डिंग आपको क्लाइंट होस्ट से SSH सर्वर होस्ट तक और फिर गंतव्य होस्ट पोर्ट से कनेक्शन अग्रेषित करने की अनुमति देता है।
ssh
क्लाइंट के लिए
-L
विकल्प पास पास स्थानीय पोर्ट बनाने के लिए:
ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname
-F विकल्प
ssh
कमांड को बैकग्राउंड में चलने के लिए कहता है और
-N
रिमोट कमांड को निष्पादित नहीं करता है।
रिमोट पोर्ट अग्रेषण
रिमोट पोर्ट फ़ॉरवर्डिंग स्थानीय पोर्ट फ़ॉरवर्डिंग के विपरीत है। यह सर्वर होस्ट से क्लाइंट होस्ट के लिए और फिर गंतव्य होस्ट पोर्ट के लिए एक पोर्ट को आगे करता है।
-L
विकल्प
ssh
को एक दूरस्थ पोर्ट अग्रेषण बनाने के लिए कहता है:
ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname
डायनेमिक पोर्ट फ़ॉरवर्डिंग
डायनेमिक पोर्ट फ़ॉरवर्डिंग एक SOCKS प्रॉक्सी सर्वर बनाता है जो पोर्ट की एक सीमा में संचार की अनुमति देता है।
डायनेमिक पोर्ट फ़ॉरवर्डिंग (SOCKS) बनाने के लिए
-D
क्लाइंट के लिए
-D
विकल्प पास करें:
ssh -D LOCAL_PORT -N -f username@hostname
अधिक विस्तृत जानकारी और चरण-दर-चरण निर्देश के लिए, SSH टनलिंग (पोर्ट अग्रेषण) कैसे सेट करें पर लेख देखें।
निष्कर्ष
SSH के माध्यम से एक दूरस्थ सर्वर से कनेक्ट करने के लिए दूरस्थ उपयोगकर्ता नाम और hostname (
ssh username@hostname
) के बाद
ssh
कमांड का उपयोग करें।
दूरस्थ सर्वर के प्रबंधन के लिए
ssh
कमांड का उपयोग करना आवश्यक है।
कमांड लाइन के साथ कमांड लाइन को जब्त करें

कमांड प्रॉम्प्ट, जीयूआई, और शक्तिशाली ले लो कमांड टूलकिट के साथ एक शक्तिशाली बैच भाषा को एकीकृत करें।
की तुलना में कमांड 14 कमांड लाइन उपयोगिता का उपयोग करना आसान है: पावरशेल

कंसोल में गंभीर काम के लिए कमांड 14 कमांड लाइन उपयोगिता का उपयोग करना आसान है, कुछ उपयोगिताओं (यदि कोई है) ले लो कमांड की शक्ति से मेल खा सकते हैं। यदि आप नियमित रूप से कमांड लाइन का उपयोग करते हैं, तो यह एक अच्छा निवेश है।
DevCon का उपयोग कर कमांड प्रॉम्प्ट के साथ विंडोज ड्राइवर्स प्रबंधित करें: कमांड प्रॉम्प्ट का उपयोग करके विंडोज ड्राइवर्स प्रबंधित करें

विंडोज 8/7 में डिवाइस मैनेजर के विकल्प के रूप में DevCon.exe को डाउनलोड और अक्षम करने के लिए सक्षम करें, अक्षम करें , डिवाइस को पुनरारंभ करें, अपडेट करें, हटाएं, हटाएं।