मैं किसी अन्य उपयोगकर्ता के रूप में एक बॉक्स में ssh कैसे देता हूं कि होस्ट उपयोगकर्ता के पास रिमोट मशीन पर कोई ssh कुंजी नहीं है


13

कहते हैं कि मेरे मैक मशीन का मेरा उपयोगकर्ता नाम जॉन है।

मेरे पास पूरी तरह से कॉन्फ़िगर स्लाइसहोस्ट खाता है। ध्यान दें कि इस स्लाइस पर जॉन के लिए कोई ssh कुंजी नहीं है।

अब मैं इस बॉक्स को यूजर तैनाती के लिए ssh acces के लिए कॉन्फ़िगर करता हूं।

मेरे मैक मशीन पर मेरे पास उपयोगकर्ता की तैनाती के लिए निजी कुंजी है। Slicehost में उपयोगकर्ता की तैनाती के लिए सार्वजनिक कुंजी है।

फिर से स्लाइसहोस्ट के पास उपयोगकर्ता जॉन के लिए कुछ भी नहीं है।

अगर मैं स्लाइसघोस्त बॉक्स में ssh करना चाहता हूं, तो उपयोगकर्ता के रूप में मुझे वहां जॉन के लिए सार्वजनिक कुंजी लगाने की आवश्यकता है?


पूर्णता के लिए मैं इस लिंक को जोड़ूंगा ताकि बाद में इसका उल्लेख कर सकूं। gist.github.com/df7d13a0556cd4a1bc13
user35340

जवाबों:


22

की तरह।

आपको अपनी सार्वजनिक कुंजी उस खाते के लिए रखनी होगी जो आप दूरस्थ सर्वर से आ रहे हैं। यदि वह आपकी जॉन कुंजी है, तो उस कुंजी को उस सर्वर पर रखें जिसे आप उस सर्वर के लिए उपयुक्त खाते का उपयोग करने के लिए कनेक्ट कर रहे हैं।

आपके मामले में, आप तैनाती के रूप में जुड़ रहे हैं। इसलिए, जब आप कनेक्ट करते हैं, तो आप टाइप करेंगे:

ssh deploy@slicehost

जॉन के लिए अपने प्रमुख में है, तो .ssh / authorized_keys खाते की फ़ाइल तैनाती , तो आप सीधी पहुँच मिल जाएगा।


1
किसी और के रूप में प्रवेश करने के पूरे उद्देश्य को पराजित नहीं करता है। तो इस मामले में ऐसा लगता है कि मुझे जॉन के लिए सार्वजनिक कुंजी लगाने और अधिकृत_की फ़ाइल में तैनात करने की आवश्यकता है।
user35340

3
नहीं, हम यह सब sftp बैकअप के लिए करते हैं। हम एक सार्वजनिक निजी कुंजी जोड़ी बनाते हैं, जिस पर कभी भी हमें सिस्टम का बैकअप लेना होता है। हम उदाहरण के लिए, उपयोगकर्ता, बैकअप-उपयोगकर्ता के तहत अपने बैकअप सर्वर पर उस खाते / मशीन के लिए सार्वजनिक कुंजी रखते हैं। फिर क्लाइंट मशीन से बैकअप के लिए हम sftp से backup-user @ backup_machine पर आते हैं। ग्राहक मशीन पर उपयोगकर्ता कोई फर्क नहीं पड़ता। यह बस मायने रखता है कि बैकअप-उपयोगकर्ता खाते की .sh निर्देशिका के अंतर्गत बैकअप मशीन पर अधिकृत_की फ़ाइल में उस मशीन के लिए एक सार्वजनिक कुंजी है। एक जादू की तरह काम करता है।
जिम

1

नहीं। उपयोगकर्ता नाम का सार्वजनिक / निजी कुंजी जोड़े से कोई लेना-देना नहीं है। यह कहीं भी कुंजी में दर्ज नहीं है। जब तक आप किसी उपयोगकर्ता की .ssh/authorized_keysफ़ाइल में सार्वजनिक कुंजी रखते हैं, तब तक आप निजी कुंजी का उपयोग करके उस उपयोगकर्ता के रूप में लॉग इन कर सकते हैं।


बस यह सुनिश्चित करने की कोशिश कर रहा हूं कि मैं सही ढंग से समझता हूं। जब तक जॉन के पास तैनाती के लिए निजी कुंजी है और तैनाती के लिए सार्वजनिक कुंजी अधिकृत_की फ़ाइल में है, तब तक जॉन को तैनाती के लिए लॉगिन करने में सक्षम होना चाहिए।
user35340

यह मेरे लिए काम नहीं करता है - मैंने .ssh.authorized_keysएक खाते से दूसरे खाते में प्रतिलिपि बनाई लेकिन फिर भी लॉग इन नहीं कर सकता
एडगर एच

1

आपको यह निर्दिष्ट करने की आवश्यकता होगी कि आप उपयोगकर्ता को "परिनियोजित" के रूप में लॉग इन करना चाहते हैं और तैनाती के लिए पहचान फ़ाइल भी निर्दिष्ट करें।

ssh -i ~/.ssh/id_deploy.rsa deploy@slicehost

जहां id_deploy.rsa आपके द्वारा स्लाइसहोस्ट खाते पर अपलोड की गई अधिकृत कुंजी के अनुरूप निजी कुंजी फ़ाइल है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.