जाने-अनजाने .ssh / अधिकृत_कील्स को हटाना, क्या यह एक गंभीर गलती है?


13

मैं Ubuntu 16.04 पर SSH कीज़ स्थापित करने के लिए नया हूँ। मैं नाम हटाने के लिए एक अधिकृत कुंजी की तलाश में था anneलेकिन मुझे लगता है कि मैंने पूरी authorized_keysफ़ाइल को हटा दिया ।

mike@mike-thinks:~$ rm /home/mike/.ssh/
authorized_keys  id_rsa           id_rsa.pub       known_hosts
mike@mike-thinks:~$ rm /home/mike/.ssh/authorized_keys 

क्या यह गंभीर गलती है? यदि हाँ, तो उन्हें कैसे पुनर्जीवित किया जाए? इस बीच मैंने ऐसा किया:

mike@mike-thinks:~/.ssh$ touch ~/.ssh/authorized_keys
mike@mike-thinks:~/.ssh$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
mike@mike-thinks:~/.ssh$ chmod 600 ~/.ssh/authorized_keys

rmनिर्देशिका की सामग्री को सूचीबद्ध करने का पहला आदेश कैसे समाप्त हुआ? क्या वह नकल त्रुटि है जो होनी चाहिए ls /home/mike/.ssh/?
बमर

3
@ बरमेर, यही वह है जो बैश में दिखता है जब आपने टैब को स्वत: पूर्ण पथ पर मारा था, और कई विकल्प हैं।
इलकाचू

3
अब बैकअप के बारे में सोचने और बहाल करने का सबसे अच्छा समय है ।
मोनिका को बहाल करें - एम। श्रोडर

जवाबों:


21

~/.ssh/authorized_keysफ़ाइल सार्वजनिक कुंजी की एक सूची है। यह उन सभी को अनुमति देता है, जिनके पास इस मशीन से जुड़ने और इस उपयोगकर्ता खाते के तहत रिमोट एक्सेस प्राप्त करने के लिए एक निजी कुंजी का मालिक है ( ~पथ के सामने स्थित टिल्ड यह दर्शाता है कि यह फ़ाइल वर्तमान उपयोगकर्ता के घर निर्देशिका के अंतर्गत है)।

सर्वर (मशीन आप कनेक्ट करना चाहते पर करने के लिए ):

यदि आपने यह फ़ाइल हटा दी है, तो कोई भी इस उपयोगकर्ता खाते के अंतर्गत अपनी निजी कुंजियों का उपयोग करके प्रमाणित नहीं कर सकेगा। पासवर्ड प्रमाणीकरण तब भी काम करेगा, जब तक कि यह अक्षम न हो।

आपको फ़ाइल को पुनः प्राप्त करना होगा और उन सभी सार्वजनिक कुंजियों को जोड़ना होगा, जिन्हें आप सार्वजनिक कुंजी प्रमाणीकरण पद्धति का उपयोग करके फिर से एक्सेस देना चाहते हैं।

ग्राहक (मशीन आप कनेक्ट करना चाहते पर से यानी, अपने स्थानीय मशीन):

यहां आपको एक authorized_keysफ़ाइल की आवश्यकता नहीं है , क्योंकि आप शायद किसी भी कुंजी को अधिकृत नहीं करना चाहते हैं और उन्हें अपने स्थानीय कंप्यूटर तक दूरस्थ पहुंच प्रदान करते हैं। इसे खाली या हटा दिया जाना चाहिए।

क्लाइंट पर, आपको केवल निजी कुंजी फ़ाइलों की आवश्यकता होती है जो सर्वर पर अधिकृत होती हैं (अर्थात authorized_keysसर्वर पर फ़ाइल में उनकी संबंधित सार्वजनिक कुंजी ), और वैकल्पिक रूप से एक उपयुक्त configऔर known_hostsफ़ाइल।


धन्यवाद ! हम्म, मैं वास्तव में सार्वजनिक कुंजी, निजी लोगों और रिमोट एक्सेस के लिए नया हूं। यह मेरी निजी मशीन है। मुझे लगता है कि किसी को भी मेरी मशीन तक पहुंच नहीं थी, मुझे लगता है कि नहीं।
मोनिका

यदि आप नहीं चाहते कि किसी को मशीन तक पहुँच मिले, तो बस फ़ाइल को हटा दें या उसे खाली छोड़ दें और आप जाना अच्छा समझते हैं।
pLumo

2
ठीक है, फिर मुझे लगता है कि आपने इसे गलत समझा। आपको authorized_keysस्थानीय मशीन पर फ़ाइल की आवश्यकता नहीं है , लेकिन सर्वर पर।
pLumo

3
ssh-keygenबनाता है id_rsaऔर id_rsa.pubनहीं authorized_keys। और यह सुनिश्चित करने के लिए।
प्लुमो

1
ध्यान दें कि यह ssh करना चाहते हैं के लिए काफी आम है से अपने डेस्कटॉप कंप्यूटर पर किसी अन्य कंप्यूटर, और उस मामले में प्रमाणित करने के लिए कुंजी का उपयोग कर अधिक सुरक्षित है।
कार्ल बेवेलफेल्ट

3

हां, आपने पूरी फ़ाइल निकाल दी है। इसे फिर से बनाने के लिए सभी उपयोगकर्ताओं को सर्वर आयु पर अपनी ssh- कीज़ कॉपी करनी होगी। आप उपयोग कर सकते हैं

ssh-copy-id user@hostname.example.com

यदि आप सभी कुंजियों को हटाना नहीं चाहते हैं, तो फ़ाइल को संपादित करें और अगली बार केवल लाइनें हटाएं।


धन्यवाद, यह मेरी निजी मशीन है। मुझे यकीन नहीं है कि यह एक सर्वर के रूप में अभी तक काम कर रहा है
मोनिका

2
अपने क्लाइंट पर आपको प्राइवेट की-फाइल और ज्ञात_होस्ट की आवश्यकता होती है और सर्वर पर pubkeys के साथ अधिकृत_कीप्स
trietend
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.