एंड्रॉयड

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

कैसे लिनक्स पर ऊपर SSH कुंजियों को सेट करने के लिए - उबंटू 18.04

कैसे लिनक्स पर ऊपर SSH कुंजियों को सेट करने के लिए - उबंटू 18.04

विषयसूची:

Anonim

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

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

इस ट्यूटोरियल में, हम उबंटू 18.04 मशीनों पर SSH कुंजियों को उत्पन्न करने के तरीके से चलेंगे। हम आपको एक SSH कुंजी-आधारित प्रमाणीकरण सेट करने और पासवर्ड दर्ज किए बिना अपने दूरस्थ लिनक्स सर्वर से कनेक्ट करने का तरीका भी दिखाएंगे।

उबंटू पर एसएसएच कुंजी बनाना

पहले एक नई SSH कुंजी जोड़ी बनाने से पहले, अपने Ubuntu क्लाइंट मशीन पर मौजूदा SSH कुंजियों की जाँच करें। आप निम्न ls कमांड चलाकर ऐसा कर सकते हैं:

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

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

अब जब आपने अपनी 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 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 पोर्ट को बदलने से स्वचालित हमलों का खतरा कम हो जाता है।

ubuntu ssh सुरक्षा