सवाल एसएफटीपी को अनुमति दें लेकिन एसएसएच को अस्वीकार करें?


मैं कुछ दोस्तों और छोटे ग्राहकों के लिए एक बहुत ही छोटी होस्टिंग कंपनी शुरू कर रहा हूं, कुछ भी बड़ा नहीं।

मैं अपने "क्लाइंट" को सर्वर पर अपनी फाइलों का प्रबंधन करने का अधिकार देना चाहता हूं। मुझे एफ़टीपी से नफरत है क्योंकि यह सुरक्षित नहीं है और यह मेरी राय में अप्रचलित है।

तो मैं अपने उपयोगकर्ताओं को एसएफटीपी के माध्यम से कनेक्ट करने की अनुमति देना चाहता हूं लेकिन उन्हें एसएसएच के माध्यम से कनेक्ट करने की अनुमति नहीं देता। (मुझे पता है, मुझे पता है, एसएफटीपी एसएसएच का उपयोग कर रहा है)। लेकिन मैं बस सोच रहा था, क्या यह संभव है?

इसलिए मुझे सर्वर पर एक एफ़टीपी सेवा स्थापित नहीं करनी पड़ेगी और सबकुछ बढ़िया होगा!


87
2018-01-28 20:40


मूल




जवाब:


संस्करण 4.9 ओपनएसएसएच से शुरू (सेंटोस 5.x में उपलब्ध नहीं है लेकिन ChrootDirectory सुविधा का बैकपोर्ट किया गया था) में एक है internal-sftp सबसिस्टम:

Subsystem sftp internal-sftp

और फिर अन्य उपयोगों को अवरुद्ध करें:

Match group sftponly
     ChrootDirectory /home/%u
     X11Forwarding no
     AllowTcpForwarding no
     ForceCommand internal-sftp

अपने उपयोगकर्ताओं को जोड़ें sftponly समूह। आपको उपयोगकर्ता की होम-डायरेक्टरी को बदलना होगा / chroot और के कारण /home/user के स्वामित्व में होना चाहिए root। मैं भी सेट करूँगा /bin/false उपयोगकर्ता के खोल के रूप में।


113
2018-01-28 20:46



वाह! सुपर कमाल! मैं इसका परीक्षण करूंगा और सत्यापन के लिए यहां वापस आऊंगा। आपका बहुत बहुत धन्यवाद! - TomShreds
ChrootDirectory बात के लिए +1! - Kyle Hodgson
ऐसा करने के बाद, मेरा sftponly उपयोगकर्ता ssh द्वारा उपयोग नहीं कर सकता है और sftp द्वारा कनेक्ट करने में सक्षम है। हालांकि यह किसी भी फाइल को बिल्कुल नहीं देख सकता! इन फ़ाइलों के बावजूद इन फ़ाइलों के लिए अनुमति है। :-( - Emilio Nicolás
यदि आप ऐसा करना चाहते हैं और पहले से मौजूद "/ usr / lib / openssh / sftp-server" के साथ अपने sshd_config में एक प्रविष्टि ढूंढें, तो यहां जांचें: serverfault.com/questions/660160/...  - आंतरिक-एसएफटीपी "नया, बेहतर और आसान" है - Xosofox


एक खोल है scponly यह क्या करता है। यह chroot भी।


19
2018-01-28 21:11



यदि आपको एसएफटीपी उपयोगकर्ताओं और एसएसएच उपयोगकर्ताओं दोनों की आवश्यकता है तो यह बहुत अच्छा होगा। आप केवल एसएफटीपी तक सीमित लोगों के लिए / etc / passwd में खोल को प्रतिस्थापित करें। - Dragos


चेकआउट आरएसएचएच जो एक नकली खोल है जो एसएफटीपी की अनुमति देता है लेकिन एसएसएच से इनकार करता है

आरएसएसएच के बारे में अधिक जानकारी

http://www.pizzashack.org/rssh/

RPMs

http://pkgs.repoforge.org/rssh/

आप एसएफटी, एसपीपी इत्यादि जैसे विभिन्न व्यवहारों को अनुमति देने / इनकार करने के लिए आरएसएच को कॉन्फ़िगर कर सकते हैं।


4
2018-02-02 13:15



अच्छा लगा। Sshd_config को छूए बिना कॉन्फ़िगर करने का यह सबसे आसान तरीका है। बस passwd फ़ाइल में खोल बदलें और किया। - Tomofumi


आप / etc / passwd को संशोधित कर सकते हैं और उस उपयोगकर्ता को नकली खोल दे सकते हैं ताकि वह एसएसएच का उपयोग न कर सके।


2
2018-01-28 20:46



क्या आपने इसका परीक्षण किया? - splattne
जब मैं खोल को सेट करने का प्रयास करता हूं /bin/false न तो एसएसएच या sftp काम करता है - Brad Mace
/ bin / false किसी भी प्रकार के लॉगिन को अस्वीकार करना है, यह सही दृष्टिकोण नहीं है। रोब वौटर से स्वीकार्य उत्तर यह है कि आपको उपयोगकर्ताओं को केवल एसएफटीपी में सीमित करना चाहिए, न कि खोल को बदलकर। यदि आप शेल @ स्टोन के एस्वर को खोलना चाहते हैं तो यह एक अच्छा विचार होगा। - jwbensley
तो क्या खोलने का उपयोग किया जाना चाहिए / bin / bash स्वीकार्य नहीं है और / bin / false या / sbin / nologin पहुंच से इनकार करते हैं? - Putnik


मैं उपयोगकर्ता खोल को निर्दिष्ट / बिन / झूठी के रूप में निर्दिष्ट करने के तरीके का उपयोग करता हूं। हालांकि, आपको यह सुनिश्चित करना होगा कि / bin / shell / etc / shells में है। फिर यह ssh = no ftp = ठीक काम करता है।

मैं vsftpd का भी उपयोग करता हूं और इसे जोड़ता हूं
chroot_local_user = हाँ सेवा मेरे /etc/vsftpd/vsftpd.conf ताकि ftp-ers अन्य तारीख को स्वयं नहीं देख सकें।

इन सरल परिवर्तनों का लाभ प्रत्येक उपयोगकर्ता के लिए ssh कॉन्फ़िगरेशन के लिए कोई परेशान कॉन्फ़िगर नहीं है।


1
2017-09-23 17:09





लाइन खोजने के लिए मत भूलना UsePAM yes और टिप्पणी करें:

#UsePAM yes

इसे अक्षम किए बिना, आपका एसएसएच सर्वर पुनः लोड / पुनरारंभ करने पर क्रैश होगा। चूंकि आपको पीएएम के फैंसी फ़ंक्शंस की आवश्यकता नहीं है, यह ठीक है।


1
2018-01-25 22:02





कुछ चयनित उपयोगकर्ताओं के लिए केवल sftp को सक्षम करने के लिए ssh को कॉन्फ़िगर करना एक अच्छा विचार है और यह ठीक से काम करता है, बशर्ते कि आप या तो इंस्टॉल करें scponly या rssh

rssh जब तक आपको जेल को कॉन्फ़िगर करने की आवश्यकता नहीं होती है, तब तक ठीक काम करता है, इस मामले में क्रोट मैनुअल द्वारा प्रदान किए गए निर्देशों का पालन करने का प्रयास पागल है, जिससे सिस्टम निष्पादन योग्य और पुस्तकालय के "बड़े" प्रतियों को "प्रत्येक उपयोगकर्ता जेल" के नीचे "प्रतिलिपि" rssh खोलो यह एक अंतरिक्ष बर्बाद करने की विधि है।

scponly जेल सेटअप के मामले में लॉगिन अस्वीकृति की हमेशा-वर्तमान समस्या के कारण कॉन्फ़िगरेशन में गहरी समझ की आवश्यकता है।

जेल के साथ "एफटीपी" कार्यक्षमताओं को सही ढंग से काम करने की अनुमति देने का सीधा तरीका, सुरक्षित लेनदेन और लॉगिन के लिए एसएसएल / टीएलएस समर्थन "पुराने-लेकिन-काम करने वाले" वीएसएफटीपीडी का उपयोग करना है, जो जल्दी और साफ-सुथरा स्थापित करता है और आवश्यकतानुसार सभी कॉन्फ़िगरेशन प्रदान करता है और आखिरी लेकिन कम से कम नहीं: यह काम करता है!

मौरीज़ियो।


0
2018-04-23 12:47