Www-data उपयोगकर्ता के लिए scp / ssh को अनुमति दें


11

मैं Ubuntu 10.04.2 का उपयोग करके Amazon EC2 पर हूं

मेरा वेब फ़ोल्डर www-data के स्वामित्व में है, इसलिए मैं ssh और scp के लिए www-data के रूप में अपने सर्वर में लॉग इन करने में सक्षम होना चाहता हूं।

धन्यवाद!

मेरे / etc / ssh / sshd_config में लाइन जोड़ने से काम नहीं लगता है।

AllowUsers www-data

जवाबों:


6

डेबियन पर, जो उबंटू पर आधारित है, www-data उपयोगकर्ता के पास डिफ़ॉल्ट शेल के रूप में / बिन / श है। SFTP को सक्षम करने के लिए, आप इसमें अपने /var/www/.ssh/authorized_keysसाथ सार्वजनिक कुंजी बना सकते हैं । अनुमतियाँ /var/www/.ssh700 होनी चाहिए, और अधिकृत_की फ़ाइल पर अनुमतियाँ 600 होनी चाहिए। आप इस निर्देशिका तक पहुँच को प्रतिबंधित करने के लिए अपने http कॉन्फ़िगरेशन में निम्नलिखित जोड़ना चाहते हैं।

<Directory /var/www/.ssh>
  Order Deny,Allow
  Deny from all
</Directory>

आप www-डेटा उपयोगकर्ताओं की सेटिंग्स (होम डीआईआर, शेल, आदि) का उपयोग करके सत्यापित कर सकते हैं getent passwd www-data

सुनिश्चित करें कि आपके sshd_config में है Subsystem sftp /usr/lib/openssh/sftp-server, और आप शायद इसे PasswordAuthentication noभी सेट करना चाहते हैं।


2

यह एक प्रकार का असुरक्षित है। मैं आपको एक अन्य उपयोगकर्ता का उपयोग करके एक मध्यवर्ती क्षेत्र में अपलोड करने का सुझाव cronदूंगा और समय-समय पर उस सामान को स्थानांतरित करने के लिए एक नौकरी चलाऊंगा जहां यह बेलॉग हो और तदनुसार अपनी अनुमतियों को बदल दें।

यदि आप वास्तव में लॉग ऑन करने पर जोर देते हैं www-data, तो आपको ऐसा करने के लिए एक निजी निजी कुंजी का उपयोग करना चाहिए (AFAIK EC2 उदाहरण केवल मुख्य प्रमाणीकरण की अनुमति देते हैं)। आपको यह भी जांचना चाहिए कि www-dataकिस पर एक वैध शेल है /etc/passwdऔर एक वैध होम डायर है।

अंत में, आप इस प्रश्न के कुछ समाधान भी आज़मा सकते हैं ।


मैं एक ssh निजी कुंजी का उपयोग करने की योजना बना रहा था। लेकिन अगर मैं फाइलों को कॉपी करने के लिए क्रोन का उपयोग करता हूं, तो क्या यह थोड़ा धीमा नहीं होगा क्योंकि मुझे क्रोन स्क्रिप्ट की प्रतीक्षा करनी होगी। इसके अलावा, मैं फाइलें अपलोड नहीं कर पाऊंगा। मैं वास्तव में www-data के लिए FTP जैसा कुछ चाहता हूं लेकिन scp की तरह सुरक्षित हूं।
अस्पष्ट

मेरे द्वारा दिए गए अन्य समाधान संभव हैं, मुझे केवल विचार पसंद नहीं है।
coredump

-3

Scp के लिए www-data के रूप में लॉग इन करना समय की बर्बादी है।

Scp कमांड के लिए आप ssh2_scp_sendफ़ाइलों को स्थानांतरित करने के लिए उपयोग क्यों नहीं करते हैं , यह सरल है और आपको उपयोगकर्ता www-data के लिए सार्वजनिक कुंजी बनाने या जोड़ने की आवश्यकता नहीं है

उदाहरण के लिए

ssh2_scp_send($connection, '/directory/filename', '/remotedirectory/filename', 0644);

कार्य करना चाहिए

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