RS_ कुंजी को अधिकृत_की फ़ाइल में कैसे जोड़ा जाए?


93

मैंने RSA सार्वजनिक कुंजी बनाई है और मैं उस authorized_keysफ़ाइल में जोड़ना चाहता हूं , लेकिन मेरे Ubuntu 11.10 मशीन में ऐसी कोई फ़ाइल नहीं है।

मैं कुंजी को कैसे जोड़ सकता हूं authorized_keys?

जवाबों:


110

माइकल क्रेलिन के समाधान को निष्पादित करते समय सुनिश्चित करें कि आप निम्न कार्य करते हैं

cat <your_public_key_file> >> ~/.ssh/authorized_keys

ध्यान दें कि डबल के >बिना अधिकृत_की >की मौजूदा सामग्री ओवर-लिखित (nuked!) होगी और यह संभव नहीं होगा।


आपको सार्वजनिक कुंजी जानकारी को ठीक से कैसे शामिल करना है, बस इसे कॉपी और पेस्ट करने की आवश्यकता नहीं है। उदाहरण के लिए:
einarc

4
क्या आप बता सकते हैं कि नकल / चिपकाने से काम क्यों नहीं चलेगा? मैं ईमानदारी से उत्सुक हूं।
mcsilvio

याद रखें, अगर ssh सेवा को फिर से शुरू करने के लिए systemd चल रहा है, या यह नई कुंजियों sudo systemctl restart sshdको नहीं
चूकेगा

52
mkdir -p ~/.ssh/

अधिकृत_की को अधिलेखित करने के लिए

cat your_key > ~/.ssh/authorized_keys

अधिकृत_की के अंत में संलग्न करने के लिए

cat your_key >> ~/.ssh/authorized_keys

मैंने क्लाइंट साइड में कुंजी उत्पन्न की है और सर्वर मशीन में उस कुंजी को कॉपी किया है, लेकिन ssh 192.168.2.7 कमांड का उपयोग करके यह लॉगिन की अनुमति नहीं देता है।
राजी एसी

क्या लॉगिन को अनुमति नहीं देता है?
माइकल क्रेलिन - हैकर

इस कमांड को निष्पादित करते समय यह सर्वर के पासवर्ड के लिए पूछता है। मैं पासवर्ड रहित लॉगिन चाहता हूं
राजी एसी

क्या id / (pub part) ~ / .shsh / प्राधिकृत_का रिमोट पर है? आईडी (गैर पब हिस्सा) ssh द्वारा उपयोग किया जाता है जब लॉग इन करने की कोशिश कर रहा है? आप इसे स्पष्ट रूप से निर्दिष्ट करने का प्रयास कर सकते हैं -i। इसके अलावा, आप कोशिश कर सकते हैं ssh -vऔर आप रिमोट पर अपने अधिकृत_की अनुमति दे सकते हैं। और वहां लॉग की जांच करें।
माइकल क्रेलिन - हैकर

अगर कुंजी पहले से जोड़ दी जाए तो क्या हम किसी तरह जांच कर सकते हैं? जैसे यह रिमोट सिस्टम के लिए ssh-copy-id द्वारा किया जाता है
दिमित्रिअसन

33

मुझे पता है कि मैं बहुत देर से उत्तर दे रहा हूं, लेकिन किसी और को भी, जिसे इसकी आवश्यकता है, अपने स्थानीय मशीन से कमांड का पालन करें

cat ~/.ssh/id_rsa.pub | ssh user@192.168.1.1 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

यह पूरी तरह से ठीक काम किया है। आपको बस इसे बदलने की जरूरत है

user@192.168.1.1

उस विशेष होस्ट के लिए अपने उपयोगकर्ता के साथ


33

आपके लिए यह स्वचालित रूप से करने के लिए ssh सुइट में पहले से ही एक कमांड है। यानी एक दूरस्थ होस्ट में लॉग इन करें और सार्वजनिक कुंजी को उस कंप्यूटर में अधिकृत करें_की फ़ाइल जोड़ें।

ssh-copy-id -i /path/to/key/file user@host.com

यदि आप जो कुंजी स्थापित कर रहे हैं ~/.ssh/id_rsaतो आप -iध्वज को पूरी तरह से छोड़ भी सकते हैं ।

मैन्युअल रूप से करने से बहुत बेहतर है!


2
>ssh user@serverip -p portnumber 
>sudo bash (if user does not have bash shell else skip this line)
>cd /home/user/.ssh
>echo ssh_rsa...this is the key >> authorized_keys
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.