पासवर्ड का उपयोग करने के लिए sftp सेट करें, लेकिन पासवर्ड का उपयोग करने के लिए ssh नहीं


15

क्या उबंटु पर एक उपयोगकर्ता को ओपनश के साथ सेट करना संभव है ताकि ssh पासवर्ड प्रमाणीकरण का उपयोग न करे लेकिन sftp करता है?

मुझे लगता है कि अगर मेरे /etc/ssh/ssh_configपास PasswordAuthentication yesयह करने के लिए बदल जाता है तो उपयोगकर्ताओं को ssh और sftp दोनों के साथ लॉगिन करने के लिए पासवर्ड का उपयोग करना संभव है।

संपादित करें: मेरा उद्देश्य यहां कुछ उपयोगकर्ताओं को कीफ़ाइल के बजाय पासवर्ड के साथ sftp देना है। लेकिन मैं नहीं चाहता कि ssh उपयोगकर्ता पासवर्ड से लॉगिन करने में सक्षम हों, मैं चाहता हूं कि उन्हें कीफाइल का उपयोग करना होगा। यदि यह मदद करता है, तो मुझे sftp उपयोगकर्ताओं को लॉगिन करने में सक्षम होने की आवश्यकता नहीं है, उन्हें केवल sftp करने की आवश्यकता है।

जवाबों:


26

जैसा कि मैं समझता हूं कि आपके पास (इस विशेष समस्या के लिए कम से कम) उपयोगकर्ताओं के दो अलग-अलग समूह हैं, एक एसएसएच के माध्यम से लॉगिन करने में सक्षम है और एक इंटरैक्टिव शेल (समूह को कॉल करें ssh) और एक एसएफटीपी के माध्यम से लॉगिन करने में सक्षम है और केवल एक एसएफटीपी प्राप्त कर सकता है शेल (समूह को कॉल करें sftp)।

अब समूह बनाने sshऔर sftpके साथ अपने सिस्टम पर groupadd, समूहों (में संबंधित उन डाल gpasswd -a $USERNAME $GROUPNAME) और संलग्न अंत में निम्नलिखित लाइनें ( यह महत्वपूर्ण है! ) अपने की sshd_configपर स्थित /etc/ssh/sshd_config:

Match Group sftp
  PasswordAuthentication yes
  # Further directives for users in the "sftp" group

Match Group ssh
  PasswordAuthentication no
  # Further directives for users in the "ssh" group

के बारे में पढ़ें Matchमें निर्देश sshd_config (5) और अनुमति के बारे में पैटर्न में ssh_config (5)

आपको इसके sshप्रभावी होने के लिए प्रक्रिया को पुनः आरंभ करना होगा:

sudo /etc/init.d/ssh restart


6
यह अच्छी तरह से प्रलेखित नहीं है, लेकिन केवल एक मैच निर्देश का उपयोग किया जाएगा; आपको सबसे विशिष्ट निर्देश शीर्ष पर रखना चाहिए। यदि आप पहले sftp को सूचीबद्ध करते हैं, तो दोनों समूहों में मौजूद उपयोगकर्ता को PasswordAuthentication की अनुमति दी जाएगी।
टोबू

धन्यवाद! sshमेरे ubuntu बक्से पर पहले से ही एक समूह है, इसलिए मुझे वास्तव में केवल sftpउस समूह में sftp उपयोगकर्ताओं को जोड़ने और डालने की आवश्यकता है । मैं आपके उत्तर को जोड़कर उपयोग करूँगा, scponlyजिसमें sftp उपयोगकर्ताओं को लॉग इन करने के लिए रखा जाएगा।
dar

2
यदि PasswordAuthenticationइसे noआगे बढ़ाने के लिए सेट किया गया है, तो क्या यह अभी भी काम करेगा? क्या Match Groupयह sftp उपयोगकर्ताओं के लिए ओवरराइड करता है ? क्योंकि यही मेरे पास है और यह काम नहीं करता है। मैं कुंजी के साथ ssh कर सकता हूं, लेकिन sftp उपयोगकर्ता के रूप में नहीं।
अल्फाडॉग

0

नहीं, और मैं यह नहीं देखता कि इससे सुरक्षा कैसे सुधरेगी, तो बात क्या होगी?

अधिकृत_की अलग-अलग कुंजियों के लिए अलग-अलग कमांड की अनुमति दे सकते हैं, यदि ऐसा है तो आप इसके बाद हैं। अन्यथा, आपके पास कई खाते बनाने और एसेल्स या सुडो का उपयोग करने का विकल्प है।


मैं सुरक्षा में सुधार करने की कोशिश नहीं कर रहा हूं। मैं कुछ उपयोगकर्ताओं के लिए sftp एक्सेस के लिए keyfile के बजाय पासवर्ड का उपयोग करना आसान बनाने की कोशिश कर रहा हूं। हालाँकि, मैं नहीं चाहता कि कोई भी व्यक्ति ssh एक्सेस के लिए पासवर्ड का उपयोग करे।
डार

@ दार ओके; फिर अलग खाते। यदि वे समान खाते थे, तो sftp पासवर्ड जानने वाला कोई व्यक्ति कुछ प्रोफ़ाइल फ़ाइल (.sh / rc, .profile, .bashrc…) को अधिलेखित कर सकता है और निजी कुंजी जानने वाले किसी व्यक्ति के समान विशेषाधिकार प्राप्त कर सकता है।
टोबू

0

यहाँ अंधेरे में छुरा लेना, लेकिन आपको यह धागा दिलचस्प लग सकता है।

मेरे SFTP उपयोगकर्ताओं को उनके घर निर्देशिका में जेल करना उचित है?


मुझे PasswordAuthentication के बारे में कुछ भी दिखाई नहीं देता है, अगर मैं गलत हूं तो मुझे सुधारें।
डार

नहीं, आप सही हैं। यह स्पष्ट नहीं था कि आप SFTP बनाम SSH के साथ क्या करना चाहते हैं। मैं दूसरी टिप्पणी से देखता हूं कि आप चाहते हैं कि उपयोगकर्ता SFTP के लिए पासवर्ड का उपयोग करें, लेकिन SSH के लिए नहीं। क्यों?
टायलर K

क्योंकि ये उपयोगकर्ता जिन्हें sftp का उपयोग करने की जरूरत है, वे keyfiles को चुनौतीपूर्ण पाते हैं, लेकिन वे समझते हैं कि पासवर्ड कैसे लिखें। यह sftp के लिए एक उपयोगकर्ता अनुभव के मुद्दे को उबालता है। लेकिन मैं ssh मिश्रण से पासवर्ड रखकर हमले की सतह के क्षेत्र को कम करना चाहता हूं।
dar

SFTP पहले एक ssh सुरंग खोलकर काम करता है, फिर FTP के जरिए फाइल ट्रांसमिट करता है। आप वास्तव में दोनों को तलाक नहीं दे सकते। मुझे लगता है कि आप कुछ एसीएल की स्थापना कर सकते हैं, लेकिन इसका कोई मतलब नहीं है।
टायलर K
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.