मैं ssh कनेक्शन को कैसे काट सकता हूं?


20

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

मैं डेबियन एच चला रहा हूं।

जवाबों:


13

मैं इस उद्देश्य के लिए rssh का उपयोग कर रहा हूं।

आप सही हैं कि इसे करने का एक नया तरीका है और यह हाल के ssh संस्करणों की एक अंतर्निहित विशेषता है।

यहाँ पर एक लेख है Undeadly


6

मुझे बस एक उपयोगकर्ता को सेटअप करना था जो ssh और ssh के माध्यम से दूसरे सर्वर में लॉग इन कर सकेगा (जो सीधे बाहरी दुनिया से जुड़ा नहीं है)। Cstamas और ericmayo द्वारा लिंक एक अच्छी शुरुआत थी।

असल में, मैंने निम्नलिखित को / etc / ssh / sshd_config में जोड़ा:

मैच उपयोगकर्ता myuser
  चेरोटडायरेरी / चेरोट / मायसर

वहाँ से, मुझे बस नीचे chroot वातावरण बनाना था / chroot / myuser। मैंने कॉपी / बिन / बैश और / usr / बिन / एसएचएस और उन साझा पुस्तकालयों की जरूरत है (एलडीडी उन दिखाएगा)। एक बड़े वातावरण के लिए, यह संभवतः आवश्यक निष्पादनयोग्य के सांख्यिकीय रूप से जुड़े संस्करणों को संकलित करने के लिए समझ में आएगा।

बैश ने तुरंत काम किया, ssh को काम करने के लिए, मुझे .ssh डायरेक्टरी, कॉपी / etc / passwd, /etc/nsswitch.conf और / lib / libnss_ * बनाने थे और / dev /ull, / dev / tty और बनाने थे। मैक्लोड के माध्यम से / देव / यूरेनियम।


2
mkdir /chroot
mkdir -p /chroot/home/<user_name>

mkdir /chroot/home/<user-name>/bin  
cp -pr /bin/bash /chroot/home/<user_name>/bin/.  
cp -pr /bin/ls /chroot/home/<user_name>/bin/.  
cp -pr /lib64 /chroot/home/<user_name>/.

आपको / etc / sshd_config फ़ाइल और एड को संपादित करना होगा

ChrootDirectory /chroot/%h

और sshd डेमॉन को पुनरारंभ करें।

सभी कहा जा रहा है, मुझे ईमानदारी से लगता है कि sftp एक बेहतर विकल्प है।

साथ ही, मुझे यह url मिला यदि यह सहायक है।

http://www.techrepublic.com/blog/opensource/chroot-users-with-openssh-an-easier-way-to-confine-users-to-their-home-directories/229


1

यदि आप सार्वजनिक-कुंजी प्रमाणीकरण का उपयोग कर रहे हैं, तो आप चिरोट जेल को सेटअप करने के लिए अधिकृत कुंजियों में "कमांड" विकल्प का उपयोग कर सकते हैं।

~ / .Ssh / authorized_keys:

command="/path/to/the/chroot/script" ssh-dss keydata.....keydata... user@host

मैं सार्वजनिक कुंजी प्रमाणीकरण का उपयोग नहीं कर रहा हूं, प्रमाणीकरण एक पासवर्ड और उपयोगकर्ता नाम द्वारा किया जाता है
Malfist

0

जहां तक ​​मुझे पता है कि ओपनएसएसएच के नए संस्करण केवल एसएफटीपी कनेक्शन के लिए चुरोट की अनुमति देते हैं। मैंने कोशिश की और यह काम करता है। लेकिन SSH के लिए उपलब्ध समाधान क्रॉचट पैच है। मैं SourceForge साइट को ब्राउज़ करता हूं और कोई फाइल नहीं है इसलिए मुझे लगता है कि बंद कर दिया गया है।

डेबियन एच के लिए यहां कुछ फाइलें हैं: http://debian.home-dn.net/etch/ssh/

यहाँ अन्य समाधान भी हैं: http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.en.html , जिसमें chrootssh भी शामिल है।


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