एंड्रॉयड

डेबियन 9 पर ssh कीज़ कैसे सेट करें

लिनक्स / मैक ट्यूटोरियल: SSH कुंजी-आधारित प्रमाणीकरण - कैसे SSH करने के लिए बिना एक पासवर्ड

लिनक्स / मैक ट्यूटोरियल: SSH कुंजी-आधारित प्रमाणीकरण - कैसे SSH करने के लिए बिना एक पासवर्ड

विषयसूची:

Anonim

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

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

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

डेबियन पर SSH कुंजी बनाना

पहले एक नई SSH कुंजी जोड़ी बनाने से पहले, अपने डेबियन क्लाइंट मशीन पर मौजूदा 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

सर्वर पर सार्वजनिक कुंजी की प्रतिलिपि बनाएँ

अब जब आपके पास अपनी 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 के लिए पासवर्ड प्रमाणीकरण को अक्षम कर सकते हैं।

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

डेबियन ssh सुरक्षा