यदि आप किसी भी समय से Linux का उपयोग कर रहे हैं, तो आपने निस्संदेह SSH के रूप में जाने जाने वाले टूल के बारे में सुना होगा। सिक्योर शेल, जिसे आमतौर पर SSH के नाम से जाना जाता है, एक नेटवर्क प्रोटोकॉल है जो एक क्लाइंट और एक रिमोट सर्वर के बीच सुरक्षित कनेक्शन स्थापित करने के लिए है। यह यूज़र्स को नेटवर्क पर विभिन्न प्रकार के कंप्यूटर्स में सुरक्षित रूप से रिमोटली लॉग-इन करने की अनुमति देने के लिए डिज़ाइन किया गया है। यहां हम आपको दिखाते हैं कि SSH कीज़ को आसानी से सेट अप और अपने सर्वर पर कैसे कॉपी करें।
SSH इंस्टॉल करना
शुरू करने के लिए, हमें SSH सर्वर इंस्टॉल करना होगा। आप Software Center या अपने पैकेज मैनेजर में openssh-server पैकेज ढूंढ और इंस्टॉल कर सकते हैं। वैकल्पिक रूप से, यदि आप सर्वर पर हैं (या सिर्फ टर्मिनल का उपयोग करना पसंद करते हैं), तो एक टर्मिनल खोलें और निम्न कमांड टाइप करें:
# Ubuntu/Debian sudo apt install openssh-server # Fedora/CentOS/REHL sudo dnf install openssh-server
Linux में SSH इनेबल करना
एक बार जब आपके मशीन पर OpenSSH सर्वर इंस्टॉल हो जाता है, तो आपको systemd यूनिट को शुरू और इनेबल करना होगा। ऐसा करने के लिए, आप बस टर्मिनल में निम्न कमांड टाइप कर सकते हैं:
sudo systemctl enable --now ssh
SSH कीज़ जनरेट करना
एक बार जब आप openssh सर्वर इंस्टॉल कर लेते हैं, तो आप SSH की पेयर्स जनरेट करना शुरू कर सकते हैं। आगे बढ़ने से पहले, सुनिश्चित करें कि आपके पास पहले से कोई मौजूदा की पेयर नहीं है, क्योंकि यह प्रक्रिया मौजूदा को ओवरराइट कर देगी।
यह जांचने के लिए कि क्या आपके पास पहले से कोई SSH की पेयर है, कमांड का उपयोग करें:
ls -la ~/.ssh
यदि आपके पास पहले से कोई की पेयर है, तो ऊपर दी गई कमांड को "id_rsa" और "id_rsa.pub" फाइलें प्रदर्शित करनी चाहिए।
एक बार जब आप सत्यापित कर लेते हैं कि आपके पास पहले से कोई SSH की पेयर नहीं है, तो आप एक नई जनरेट करने के लिए आगे बढ़ सकते हैं। अन्यथा, अपने पुराने कीज़ का बैकअप लें ताकि उन्हें खोने से बचाया जा सके।
एक नई की जनरेट करने के लिए, कमांड का उपयोग करें:
ssh-keygen -t rsa -b 4096
ऊपर दी गई कमांड ssh-keygen यूटिलिटी को एक SSH की पेयर को इंटरैक्टिव रूप से जनरेट करने के लिए इनवोक करती है। -t विकल्प का उपयोग करके, हम जनरेट करने के लिए की टाइप निर्दिष्ट करते हैं। इस मामले में, हम एक RSA की जनरेट करते हैं।
हम -b विकल्प का उपयोग की में बिट्स की संख्या निर्दिष्ट करने के लिए भी करते हैं। यदि आप RSA की का उपयोग करते हैं, तो न्यूनतम बिट साइज़ 1024 है। यदि निर्दिष्ट नहीं किया गया है, तो यह 3072 बिट्स के साथ की जनरेट करेगा।
SSH कीज़ को स्टोर करने के लिए डिफ़ॉल्ट स्थान का उपयोग करना अच्छा है ताकि SSH से कीज़ का उपयोग करके कनेक्ट करते समय पथ टाइप करने से बचा जा सके।
यदि आप अपनी की को पासफ्रेज़ के साथ एन्क्रिप्ट नहीं करना चाहते हैं, तो छोड़ने के लिए Enter दबाएं।
रिमोट सर्वर पर की कॉपी करना
अब जब हमने एक नई SSH की पेयर जनरेट कर ली है, तो हमें इसे उस रिमोट मशीन पर अपलोड करना होगा जिसे हम मैनेज करना चाहते हैं।
इसे करने का सबसे कुशल तरीका ssh-copy-id कमांड का उपयोग करना है। कमांड का उपयोग इस प्रकार करें:
ssh-copy-id remote_user@remote_IP
यदि आप एक अलग फ़ाइलनाम वाली कीफ़ाइल का उपयोग कर रहे हैं, तो कीफ़ाइल का पथ निर्दिष्ट करने के लिए निम्न कमांड का उपयोग कर सकते हैं।
ssh-copy-id -i ~/.ssh/id_rsa remote_user@remote_IP
यदि आप पहली बार रिमोट मशीन में लॉग-इन कर रहे हैं, तो आपको फिंगरप्रिंट स्वीकार करना होगा।
अगला, रिमोट यूज़र के लिए SSH पासवर्ड दर्ज करें।
एक बार प्रमाणित होने पर, ssh-copy-id कमांड आपके id_rsa.pub की की सामग्री को रिमोट मशीन पर "~/.ssh/authorized_keys" फाइल में जोड़ देगा और कनेक्शन बंद कर देगा।
रिमोट मशीन में लॉग-इन करना
एक बार जब आप उपरोक्त सभी चरणों को सफलतापूर्वक पूरा कर लेते हैं, तो अब आप पासवर्ड की आवश्यकता के बिना रिमोट सर्वर में लॉग-इन कर सकते हैं।
आप इसका परीक्षण इस कमांड का उपयोग करके कर सकते हैं:
ssh remote_user@remote_ip
जब तक आपके पास अपनी की के लिए पासफ्रेज़ इनेबल नहीं है, आप स्वचालित रूप से लॉग-इन हो जाएंगे।
अक्सर पूछे जाने वाले प्रश्न
1. क्या SSH सुरक्षित है?
SSH एक शक्तिशाली सुरक्षा टूल है जो प्रमाणित यूज़र्स को रिमोट सिस्टम में लॉग-इन करने की अनुमति देता है। हालांकि, यह केवल उतना ही सुरक्षित है जितना इसकी कॉन्फ़िगरेशन फ़ाइल अनुमति देती है। एक अनकॉन्फ़िगर्ड/गलत कॉन्फ़िगर्ड SSH सर्वर हैकर्स और थर्ड-पार्टी एक्सेस के लिए भी कमजोर हो सकता है। इंस्टॉल करने के तुरंत बाद SSH कॉन्फ़िगरेशन को सुरक्षित करना सुनिश्चित करें।
2. SSH authorized_keys कहां है?
SSH authorized_keys फाइल प्रत्येक यूज़र की पब्लिक कीफाइल रखती है और निर्दिष्ट करती है कि किन यूज़र्स को सर्वर में लॉग-इन करने की अनुमति है। Linux में, authorized_keys फ़ाइल आमतौर पर यूज़र की होम डायरेक्टरी में ".ssh" फ़ोल्डर में पाई जाती है।
3. ssh-copy-id परमिशन डिनाइड समस्या को कैसे ठीक करूं?
यह केवल तब होता है जब आपके रिमोट सर्वर में पहले से ही एक पब्लिक की सेट अप हो और आपने पासवर्ड प्रमाणीकरण अक्षम कर दिया हो। इस समस्या को ठीक करने के लिए, पहले अपने सर्वर में लॉग-इन करें, "/etc/ssh/sshd_config" फ़ाइल में पासवर्ड प्रमाणीकरण इनेबल करें, फिर ssh-copy-id कमांड फिर से चलाएं।
एक बार जब आप नई कीफ़ाइल कॉपी कर लेते हैं, तो पासवर्ड प्रमाणीकरण विकल्प को फिर से अक्षम करना याद रखें।
निष्कर्ष
अब जब आपने SSH सेट अप और उपयोग कर लिया है, तो अगली चीज़ जो आपको करनी चाहिए वह है SSH कॉन्फ़िगरेशन को सुरक्षित करना। वैकल्पिक रूप से, यदि आप Windows का उपयोग कर रहे हैं, तो सीखें कि आप Windows में SSH की पेयर कैसे जनरेट कर सकते हैं।