एंड्रॉयड

सेंट 7 पर ssh कीज़ कैसे सेट करें

कैसे कनेक्ट करने के लिए Linux (CentOS 7) SSH कुंजियों (पासवर्ड मुक्त प्रमाणीकरण) का उपयोग करना Windows से करने के लिए

कैसे कनेक्ट करने के लिए Linux (CentOS 7) SSH कुंजियों (पासवर्ड मुक्त प्रमाणीकरण) का उपयोग करना Windows से करने के लिए

विषयसूची:

Anonim

सिक्योर शेल (SSH) एक क्रिप्टोग्राफिक नेटवर्क प्रोटोकॉल है जो क्लाइंट और सर्वर के बीच सुरक्षित कनेक्शन के लिए बनाया गया है।

दो सबसे लोकप्रिय एसएसएच प्रमाणीकरण तंत्र पासवर्ड आधारित प्रमाणीकरण और सार्वजनिक-कुंजी आधारित प्रमाणीकरण हैं। SSH कुंजियों का उपयोग करना आम तौर पर पारंपरिक पासवर्ड प्रमाणीकरण की तुलना में अधिक सुरक्षित और सुविधाजनक है।

यह ट्यूटोरियल बताता है कि CentOS 7 सिस्टम पर SSH कीज़ को कैसे जेनरेट किया जाता है। हम आपको एक SSH कुंजी-आधारित प्रमाणीकरण सेट करने और पासवर्ड दर्ज किए बिना अपने दूरस्थ लिनक्स सर्वर से कनेक्ट करने का तरीका भी दिखाएंगे।

CentOS पर SSH कुंजियाँ बनाना

नई SSH कुंजी जोड़ी बनाने से पहले, अपने CentOS क्लाइंट मशीन पर मौजूदा SSH कुंजियों की जांच करना एक अच्छा विचार है।

ऐसा करने के लिए, निम्न एलएस कमांड चलाएं जो किसी भी सार्वजनिक कुंजी को सूचीबद्ध करती है:

ls -l ~/.ssh/id_*.pub

यदि कमांड का आउटपुट कुछ No such file or directory या रिटर्न से मिलता- no matches found तो इसका मतलब है कि आपके पास अपने क्लाइंट मशीन पर SSH कीज़ नहीं हैं, और आप अगले चरण के साथ आगे बढ़ सकते हैं और SSH की जोड़ी बना सकते हैं।

यदि मौजूदा कुंजियाँ हैं, तो आप या तो उन का उपयोग कर सकते हैं और अगले चरण को छोड़ सकते हैं या पुरानी कुंजियों को बैकअप कर सकते हैं और नए बना सकते हैं।

एक टिप्पणी के रूप में अपने ईमेल पते के साथ एक नया 4096 बिट्स SSH कुंजी जोड़ी उत्पन्न करके शुरू करें:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

आपको फ़ाइल नाम निर्दिष्ट करने के लिए प्रेरित किया जाएगा:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

डिफ़ॉल्ट फ़ाइल स्थान और फ़ाइल नाम स्वीकार करने के लिए Enter दबाएँ।

इसके बाद, आपको सुरक्षित पासफ़्रेज़ टाइप करने के लिए कहा जाएगा। चाहे आप पासफ़्रेज़ का उपयोग करना चाहें, यह आपके ऊपर है। यदि आप पासफ़्रेज़ का उपयोग करना चुनते हैं, तो आपको सुरक्षा की एक अतिरिक्त परत मिलेगी।

Enter passphrase (empty for no passphrase):

पूरी बातचीत इस तरह दिखती है:

अपनी नई SSH कुंजी जोड़ी को सत्यापित करने के लिए, टाइप करें:

ls ~/.ssh/id_*

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

सार्वजनिक कुंजी को CentOS सर्वर पर कॉपी करें

अब जब SSH कुंजी जोड़ी बन गई है, तो अगला चरण उस सार्वजनिक कुंजी की प्रतिलिपि बनाना है जिसे आप प्रबंधित करना चाहते हैं।

दूरस्थ सर्वर के लिए सार्वजनिक कुंजी की प्रतिलिपि बनाने का सबसे आसान और अनुशंसित तरीका ssh-copy-id नामक एक उपयोगिता का उपयोग करके है। अपने स्थानीय मशीन टर्मिनल प्रकार पर:

ssh-copy-id remote_username@server_ip_address

आपको remote_username पासवर्ड दर्ज करने के लिए प्रेरित किया जाएगा:

remote_username@server_ip_address's password:

पासवर्ड टाइप करें, और एक बार उपयोगकर्ता प्रमाणित हो जाने के बाद, सार्वजनिक कुंजी ~/.ssh/id_rsa.pub को दूरस्थ उपयोगकर्ता ~/.ssh/authorized_keys फ़ाइल में जोड़ा जाएगा। कनेक्शन बंद कर दिया जाएगा।

Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'username@server_ip_address'" and check to make sure that only the key(s) you wanted were added.

यदि आपके स्थानीय कंप्यूटर पर ssh-copy-id उपयोगिता उपलब्ध नहीं है, तो सार्वजनिक कुंजी को कॉपी करने के लिए निम्न कमांड का उपयोग करें:

cat ~/.ssh/id_rsa.pub | ssh remote_username@server_ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

SSH कुंजियों का उपयोग करके अपने सर्वर पर लॉगिन करें

उपरोक्त चरणों को पूरा करने के बाद, आपको पासवर्ड के लिए संकेत दिए बिना दूरस्थ सर्वर में लॉग इन करने में सक्षम होना चाहिए।

इसे सत्यापित करने के लिए, SSH के माध्यम से अपने सर्वर पर लॉगिन करने का प्रयास करें:

ssh remote_username@server_ip_address

SSH पासवर्ड प्रमाणीकरण अक्षम करना

अपने दूरस्थ सर्वर में सुरक्षा की एक अतिरिक्त परत जोड़ने के लिए, आप SSH पासवर्ड प्रमाणीकरण को अक्षम कर सकते हैं।

जारी रखने से पहले, सुनिश्चित करें कि आप sudo विशेषाधिकार वाले उपयोगकर्ता के रूप में पासवर्ड के बिना अपने सर्वर में लॉग इन कर सकते हैं।

SSH पासवर्ड प्रमाणीकरण को अक्षम करने के लिए नीचे दिए गए चरणों का पालन करें:

  1. अपने दूरस्थ सर्वर में प्रवेश करें:

    ssh sudo_user@server_ip_address

    अपने पाठ संपादक के साथ SSH कॉन्फ़िगरेशन फ़ाइल /etc/ssh/sshd_config खोलें:

    sudo nano /etc/ssh/sshd_config

    निम्नलिखित निर्देशों के लिए खोजें और इसे निम्नानुसार संशोधित करें:

    / Etc / ssh / sshd_config

    PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

    एक बार जब आप फ़ाइल को सेव कर लेते हैं और टाइप करके SSH सेवा को पुनः आरंभ करते हैं:

    sudo systemctl restart ssh

इस बिंदु पर, पासवर्ड-आधारित प्रमाणीकरण अक्षम है।

निष्कर्ष

इस ट्यूटोरियल में, आपने सीखा है कि नई SSH कुंजी जोड़ी कैसे बनाएँ और SSH कुंजी-आधारित प्रमाणीकरण सेट करें। आप एक ही कुंजी को कई दूरस्थ सर्वरों में जोड़ सकते हैं।

हमने आपको एसएसएच पासवर्ड प्रमाणीकरण को अक्षम करने और अपने सर्वर पर सुरक्षा की एक अतिरिक्त परत जोड़ने का तरीका भी दिखाया है।

डिफ़ॉल्ट रूप से, SSH पोर्ट 22 पर सुनता है। डिफ़ॉल्ट SSH पोर्ट को बदलने से स्वचालित हमलों का जोखिम कम हो जाता है।

सेंटो ssh सुरक्षा