एक लिनक्स कंटेनर मेरे होम निर्देशिका के बाहर एक अधिकृत_की फाइल का उपयोग कर सकता है, लेकिन इसके आधार पर अल्पकालिक कंटेनर नहीं कर सकते। क्यों?


10

उबंटू 12.10 में, मैंने lxc-create उपयोगिता का उपयोग करके 'ubuntu' प्रकार का LXC बनाया है। फिर मैं lxc-start-ephemeral उपयोगिता का उपयोग करके इस कंटेनर के आधार पर पंचांग कंटेनर बनाता हूं, और मुझे पासवर्ड-कम ssh का उपयोग करने वालों से कनेक्ट करने की आवश्यकता है। हालाँकि, मुझे उनके / होम / ubuntu फ़ोल्डर को प्राचीन रखने की आवश्यकता है, इसलिए मैं सामान्य .ssh / अधिकृत_की फ़ाइल को वहाँ नहीं रख सकता।

'एन्क्रिप्टेड होम निर्देशिका' अनुभाग यहाँ मुझसे कहता है घर निर्देशिका से बाहर authorized_keys स्थानांतरित करने के लिए कैसे। बेस कंटेनर के अंदर से उन निर्देशों का पालन करने के बाद, मैं पासवर्ड दिए बिना बेस कंटेनर में ssh कर सकता हूं।

हालांकि, जब मैं आधार कंटेनर से एक पंचांग कंटेनर लॉन्च करता हूं, तो मैं पासवर्ड के बिना एसएचएस नहीं कर सकता। (निश्चित रूप से, अल्पकालिक कंटेनर के लिए पासवर्ड रहित ssh तब काम करता है, जब अधिकृत_की / सामान्य रूप से /home/ubuntu/.ssh में हो।) मैं इसे कैसे ठीक कर सकता हूं?

यहाँ ssh -v ने कहा, जब यह होस्ट कुंजी को स्वीकार करता है, तब से शुरू होता है:

debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/ubuntu/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/ubuntu/.ssh/id_dsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ecdsa
debug1: Next authentication method: password

यहाँ पंचांग कंटेनर पर /var/log/auth.log के प्रासंगिक अंश दिए गए हैं:

Apr 11 00:06:52 test-temp-SNeWevO sshd[306]: Authentication refused: bad ownership or modes for directory /
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: Accepted password for ubuntu from 10.0.3.1 port 59677 ssh2
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_env(sshd:setcred): Unable to open env file: /etc/default/locale: No such file or directory
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)

मैंने यह परीक्षण मानक Ubuntu 12.10 AMI के आधार पर एक ताजा AWS माइक्रो इंस्टेंस पर किया, और यदि यह मदद करता है तो इसे कैसे पुन: पेश किया जाए, इस पर विस्तृत निर्देश प्रदान कर सकते हैं।


अद्यतन: मुझे लगा कि मुद्दा अजीब फाइल सिस्टम हो सकता है lxc-start-ephemeral उपयोग करता है, इसलिए मैंने कुछ बदलाव किए। मैंने पहले OVERLAY_DIR और EPHEMERAL_BIND_DIR को tmpfs होने से रोका, अब वे केवल निर्देशिका हैं। यह तय नहीं किया। फिर मैंने एक ओवरलेफ़्स से एक साधारण बाँध माउंट के लिए पंचांग कंटेनर की रूट फाइल सिस्टम को बदल दिया। इसने उसे ठीक कर दिया। दुर्भाग्य से यह मेरी समस्या का समाधान नहीं करता है, क्योंकि मुझे ओवरलेफ़्स की आवश्यकता है।
आनंद

जवाबों:


1

यह एक पुराना सवाल है, लेकिन यह अभी भी Google में आता है ...

Authentication refused: bad ownership or modes for directory /

sshd सेवा के कारण उस निर्देशिका के लिए सख्त अनुमति की आवश्यकता होती है जिसमें अधिकृत_कीप पाया जाता है, सुनिश्चित नहीं है कि आप यह कैसे प्रबंधित करें कि रूट निर्देशिका (/) संभवतया आपके विन्यास करने वाले कंटेनरों के साथ कुछ करना है।

यदि आप / की अनुमति नहीं बदलते हैं, जो इस मामले में संभव है, तो आप सेट कर सकते हैं

StrictModes no

sshd_config में।
बशर्ते आपके पास सर्वर तक पहुंचने वाले कई उपयोगकर्ता नहीं हैं, ऐसा करने से सुरक्षा पर बहुत कम प्रभाव पड़ता है।

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