GNU/Linux
सुरक्षित खोल (SSH)
खोज…
परिचय
एन्क्रिप्टेड कनेक्शन पर क्लाइंट से सर्वर को दूरस्थ रूप से एक्सेस करने के लिए एक सुरक्षित शेल का उपयोग किया जाता है। OpenSSH का उपयोग टेलनेट कनेक्शन के विकल्प के रूप में किया जाता है जो दूरस्थ शेल एक्सेस प्राप्त करते हैं लेकिन अनएन्क्रिप्टेड होते हैं। OpenSSH क्लाइंट डिफ़ॉल्ट रूप से अधिकांश GNU / Linux वितरण पर स्थापित है और इसका उपयोग सर्वर से कनेक्ट करने के लिए किया जाता है। ये उदाहरण एसएसएच कनेक्शन को स्वीकार करने और किसी अन्य होस्ट से कनेक्ट करने के लिए एसएसएच सूट का उपयोग करने का उपयोग करते हैं।
रिमोट सर्वर से कनेक्ट करना
एक सर्वर से कनेक्ट करने के लिए हमें ग्राहक पर SSH का उपयोग करना चाहिए,
# ssh -p port user@server-address
- port - सर्वर का श्रवण बंदरगाह (डिफ़ॉल्ट पोर्ट 22)।
- उपयोगकर्ता - एसएसएच विशेषाधिकारों के साथ सर्वर पर एक मौजूदा उपयोगकर्ता होना चाहिए।
- सर्वर का पता - सर्वर का आईपी / डोमेन।
एक वास्तविक दुनिया उदाहरण के लिए यह दिखावा करने देता है कि आप एक वेबसाइट बना रहे हैं। आपकी साइट को होस्ट करने के लिए जिस कंपनी को आपने चुना है, वह बताती है कि सर्वर 2020 के कस्टम पोर्ट पर web-servers.com पर स्थित है और SSH विशेषाधिकारों के साथ सर्वर पर उपयोगकर्ता बनाने के लिए आपका खाता usr1 चुना गया है। इस स्थिति में SSH कमांड का उपयोग इस प्रकार होगा
# ssh -p 2020 [email protected]
यदि दूरस्थ सिस्टम पर खाता नाम एक है, तो एक ही स्थानीय ग्राहक है जिसे आप उपयोगकर्ता नाम छोड़ सकते हैं। तो अगर आप कर रहे हैं usr1
दोनों सिस्टम पर तो तुम मेरे बस का उपयोग web-servers.com
बजाय [email protected]
।
जब आप जिस सर्वर से जुड़ना चाहते हैं वह सीधे आपके लिए सुलभ नहीं होता है, तो आप इसे किसी अन्य सर्वर के माध्यम से कनेक्ट करने के लिए ProxyJump स्विच का उपयोग करने का प्रयास कर सकते हैं जो आपके लिए सुलभ है और वांछित सर्वर से कनेक्ट हो सकता है।
# ssh -J [email protected]:2020 [email protected] -p 2222
यह आपको 10.0.0.1 (पोर्ट 2020 पर चल ssh) पर सर्वर के माध्यम से सर्वर 10.0.0.2 (पोर्ट 2222 पर ssh चल रहा है) से कनेक्ट करने देगा। आपको पाठ्यक्रम के दोनों सर्वरों पर खातों की आवश्यकता होगी। यह भी ध्यान दें कि -J स्विच ओपनएसएसएच संस्करण 7.3 में पेश किया गया है।
ओपनएसएसएच सुइट स्थापित करना
एक SSH सर्वर को हटाने और SSH कनेक्शन स्वीकार करने के लिए दोनों को openssh
की स्थापना की आवश्यकता होती है
डेबियन:
# apt-get install openssh
आर्क लिनक्स:
# pacman -S openssh
यम:
# yum install openssh
सार्वजनिक और निजी कुंजी उत्पन्न करें
SSH ग्राहक के लिए कुंजी उत्पन्न करने के लिए:
ssh-keygen [-t rsa | rsa1 | dsa ] [-C <comment>] [-b bits]
उदाहरण के लिए:
ssh-keygen -t rsa -b 4096 - C [email protected]
सार्वजनिक स्थान के लिए डिफ़ॉल्ट स्थान ~/.ssh/id_rsa
है और सार्वजनिक कुंजी के लिए ~/.ssh/id_rsa.pub
।
अधिक जानकारी के लिए, कृपया man.openbsd.org पर जाएं
कनेक्शन स्वीकार करने के लिए SSH सर्वर को कॉन्फ़िगर करना
सबसे पहले हमें SSH डेमन कॉन्फिग फाइल को एडिट करना चाहिए। हालांकि विभिन्न लिनक्स वितरण के तहत यह अलग-अलग निर्देशिकाओं में स्थित हो सकता है, आमतौर पर इसे /etc/ssh/sshd_config
अंतर्गत संग्रहीत किया जाता है
इस फ़ाइल में दिए गए मानों को बदलने के लिए अपने टेक्स्ट एडिटर का उपयोग करें, # से शुरू होने वाली सभी लाइनों पर टिप्पणी की गई है और किसी भी प्रभाव को लेने के लिए इस चरित्र को हटा दिया जाना चाहिए। सिफारिशों की एक सूची इस प्रकार है।
Port (chose a number between 0 - 65535, normaly greater than four digits)
PasswordAuthentication yes
AllowUsers user1 user2 ...etc
ध्यान दें कि पासवर्ड लॉगिन को एक साथ अक्षम करना बेहतर है और इस दस्तावेज़ में बताई गई सुरक्षा के लिए SSH कुंजी का उपयोग करें।
सेवा को अक्षम करें
यह SSH सर्वर साइड सर्विस को निष्क्रिय कर देगा, जैसे कि जरूरत पड़ने पर यह बीमा करेगा कि क्लाइंट ssh के माध्यम से कनेक्ट नहीं हो सकता है
उबंटू
sudo service ssh stop
डेबियन
sudo /etc/init.d/ssh stop
आर्क लिनक्स
sudo killall sshd
पासवर्ड रहित कनेक्शन (एक प्रमुख जोड़ी का उपयोग करके)
सबसे पहले आपको एक प्रमुख जोड़ी की आवश्यकता होगी। यदि आपके पास अभी तक एक नहीं है, तो 'सार्वजनिक और निजी प्रमुख विषय' पर एक नज़र डालें।
आपकी कुंजी जोड़ी एक निजी कुंजी (id_rsa) और एक सार्वजनिक कुंजी (id_rsa.pub) द्वारा बनाई गई है। आपको बस इतना करना है कि सार्वजनिक कुंजी को दूरस्थ होस्ट पर कॉपी करें और उसकी सामग्री को ~/.ssh/authorized_keys
फ़ाइल में जोड़ें।
ऐसा करने का एक सरल तरीका है:
ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub
एक बार सार्वजनिक कुंजी को आपके उपयोगकर्ता के होम डायरेक्टरी में ठीक से रखने के बाद, आपको संबंधित निजी कुंजी का उपयोग करके लॉगिन करना होगा:
ssh <user>@<ssh-server> -i id_rsa