linux सर्वर rsync / scp / sftp की अनुमति देता है, लेकिन टर्मिनल लॉगिन की नहीं


6

मैं एक लिनक्स बॉक्स (शायद एक उबंटू सर्वर) को कॉन्फ़िगर करना चाहूंगा ताकि मैं उपयोगकर्ताओं को सेटअप कर सकूं, ताकि rsync / scp / sftp के माध्यम से फ़ाइलों को अपलोड / डाउनलोड करना संभव हो, लेकिन मशीन में ssh करना संभव नहीं होना चाहिए और एक इंटरैक्टिव टर्मिनल प्राप्त करें।

क्या यह संभव है? मैं इसे कैसे कॉन्फ़िगर करूँगा? मुझे पता है कि मुझे काम करने के लिए rsync / scp / sftp के लिए सभी को ssh सर्वर की आवश्यकता होगी, लेकिन मुझे लगता है कि प्रत्यक्ष लॉगिन को रोकने का एक तरीका होना चाहिए।


मुझे नहीं लगता कि यह संभव है कि आपको एक उपयोगकर्ता नाम की आवश्यकता है और rsync का उपयोग करने के लिए पास करें, जिसके पास भी उपयोगकर्ता नाम है और पास हो सकता है, भले ही आप rsync के लिए एक ssh कुंजी बनाएँ, काम नहीं करेगा, हालांकि गलत साबित होना पसंद करेंगे
लिंगोब

मैच उपयोगकर्ता ... / ForceCommand Internal-sftp के साथ केवल SFTP की अनुमति देना संभव है sshd_config। लेकिन कई कार्यक्रमों की अनुमति देने के लिए मैं मदद नहीं कर सकता।
मावेरोन

आपको एक चेरोट जेल की आवश्यकता है , SourceForge एक बहुत अच्छा लागू करता है लेकिन मैं इस पर प्रलेखन नहीं पा सकता हूं।
जस्टब्रोसिंग

जवाबों:


6

उपयोगकर्ताओं के शेल को rssh पर सेट करें । मैनपेज से:

rssh - सीमित सुरक्षित शेल केवल scp और / या sftp की अनुमति देता है


यह rsync, केवल sftp की अनुमति नहीं देता है।
Agoston Horvath

> अब यह भी rdist, rsync, और सीवीएस के लिए समर्थन शामिल: मैं बाद में इस परीक्षण कर सकते हैं, फिर भी प्रलेखन राज्यों
SlightlyCuban

1
मैं सही खड़ा हूं: यह rsync का समर्थन करता है, लेकिन डिफ़ॉल्ट रूप से यह ubuntu पर अक्षम है। हालांकि, वहाँ है एक कॉन्फ़िग फ़ाइल /etc/rssh.conf जहां एक वास्तव में गहरा rssh finetune कर सकते हैं। जानकारी के लिए धन्यवाद!
अगस्त

2

यदि आपको केवल rsync की अनुमति देने की आवश्यकता है, तो rsync के डेवलपर्स rrsyncआपकी समस्या को हल करने के लिए स्क्रिप्ट प्रदान करते हैं । यह यहाँ से उपलब्ध है: http://ftp.samba.org/pub/unpacked/rsync/support/rrsync

आपको बस अपनी .authorized_keysफ़ाइल में ऐसा कुछ जोड़ना होगा (यह उदाहरण केवल पढ़ने की अनुमति देता है -ro) /some/directory/:

command="/path/to/rrsync -ro /some/directory/",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa AAA...

अधिक विवरण और उदाहरण यहां उपलब्ध है: https://www.guyrutenberg.com/2014/01/14/restricting-ssh-access-to-rsync/


1

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

दूसरा संभावित तरीका यह है कि आप लॉग इन कमांड को अधिकृत कीज फाइल में सेट करें, लेकिन यह केवल तभी काम करता है जब आपके उपयोगकर्ता SSH- कीज के माध्यम से लॉगइन करते हैं न कि पासवर्ड के जरिए।

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