سؤال السماح بـ SFTP ولكن عدم السماح لـ SSH؟


أنا بدأت شركة استضافة صغيرة للغاية لعدد قليل من الأصدقاء والعملاء القليل ، لا شيء كبير.

أريد أن أمنح "العملاء" حق إدارة ملفاتهم على الخادم. أنا أكره بروتوكول نقل الملفات لأنها ليست آمنة وانه في رأيي عفا عليها الزمن.

لذلك ، أود السماح للمستخدمين بالتوصيل عبر SFTP ولكن لا تسمح لهم بالاتصال من خلال SSH. (أعلم ، أعلم ، يستخدم SFTP SSH). لكنني كنت أتساءل فقط ، هل من الممكن؟

لذلك لن أحتاج إلى تثبيت خدمة FTP على الخادم وسيكون كل شيء رائعًا!


88
2018-01-28 20:40


الأصل




الأجوبة:


بدءا من الإصدار 4.9 OpenSSH (غير متوفر في centos 5.x ولكن تم backported ميزة ChrootDirectory) internal-sftp الفرعي:

Subsystem sftp internal-sftp

ثم حظر الاستخدامات الأخرى:

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

قم بإضافة المستخدمين إلى sftponly مجموعة. يجب عليك تغيير homedirectory إلى / بسبب chroot و /home/user يجب أن تكون مملوكة من قبل root. كنت أيضا تعيين /bin/false كما قذيفة المستخدم.


114
2018-01-28 20:46



رائع! رائع جدا! سأختبر ذلك وأعود إلى هنا لإثبات صحتها. شكرا جزيلا! - TomShreds
+1 لشيء ChrootDirectory! - Kyle Hodgson
بعد القيام بذلك ، لا يمكن الوصول إلى مستخدم sftponly بواسطة ssh وقادر على الاتصال عن طريق sftp. ومع ذلك لا يمكن رؤية أي ملف على الإطلاق! على الرغم من أن هذه الملفات لديها إذن لهذا المستخدم. :-( - Emilio Nicolás
في حالة ما إذا كنت تريد القيام بذلك والعثور على إدخال في sshd_config الخاص بك مع "/ usr / lib / openssh / sftp-server" موجود بالفعل ، تحقق هنا: serverfault.com/questions/660160/...  - الداخلية - sftp "الأحدث ، الأفضل والأسهل" - Xosofox


هناك قذيفة scponly ماذا يفعل هذا. يمكن الاستجذار جدا.


19
2018-01-28 21:11



سيأتي هذا رائعًا إذا احتجت إلى مستخدمي SFTP ومستخدمي SSH. أنت تستبدل فقط shell في / etc / passwd لتلك المقيّدة فقط بـ SFTP. - Dragos


الخروج rssh وهي قذيفة وهمية تسمح sftp لكنه ينكر سه

المزيد عن RSSH

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

اللفات في الدقيقة

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

يمكنك تكوين rssh للسماح / نفي السلوكيات المختلفة مثل sft و scp إلخ.


4
2018-02-02 13:15



لطيف. هذه هي أسهل طريقة للتهيئة دون لمس sshd_config على الإطلاق. مجرد تغيير قذيفة في ملف passwd والقيام به. - Tomofumi


يمكنك تعديل / etc / passwd وإعطاء هذا المستخدم وعاءًا زائفًا بحيث لا يمكنه استخدام ssh.


2
2018-01-28 20:46



هل اختبرت هذا؟ - splattne
عندما أحاول وضع shell على /bin/false لا سه أو يعمل sftp - Brad Mace
/ bin / false هو عدم السماح بأي نوع من تسجيل الدخول ، وهذا ليس النهج الصحيح هنا. الجواب المقبول من Rob Wouters هو كيفية تقييد المستخدمين على SFTP فقط ، وليس بتغيير shell. إذا كنت ترغب في تغيير shell @ ستون asnwer سيكون فكرة جيدة. - jwbensley
لذلك يجب استخدام shell ما هو افتراض / bin / bash غير مقبول و / bin / false أو / sbin / nologin يرفض الوصول؟ - Putnik


يمكنني استخدام طريقة تحديد shell المستخدم كـ / bin / false كما هو مذكور. ومع ذلك ، يجب التأكد من أن / bin / shell في / etc / shells. ثم يعمل ssh = no ftp = ok.

أنا أيضا استخدام vsftpd وإضافة هذا
chroot_local_user = YES إلى /etc/vsftpd/vsftpd.conf بحيث لا يمكن لبروتوكول نقل الملفات رؤية التاريخ الآخر الخاص به.

ميزة هذه التغييرات البسيطة ليست تهيئة مزعجة لتهيئة ssh لكل مستخدم.


1
2017-09-23 17:09





لا تنس أن تجد الخط UsePAM yes وعلق عليه:

#UsePAM yes

بدون تعطيل هذا ، قد يتلف خادم SSH عند إعادة التحميل / إعادة التشغيل. نظرًا لأنك لا تحتاج إلى وظائف خيالية من PAM ، فهذا أمر جيد.


1
2018-01-25 22:02





تعد تهيئة ssh لتمكين sftp فقط لبعض المستخدمين المحددين فكرة جيدة وتعمل بشكل صحيح ، شريطة أن تقوم بتثبيتها أيضًا scponly أو rssh.

rssh تعمل بشكل جيد ، إلا إذا كنت بحاجة إلى تكوين السجن ، في هذه الحالة محاولة اتباع التعليمات المقدمة من أدلة CHROOT هو مجنون ، مما يؤدي إلى "نسخ" أجزاء كبيرة من الملفات التنفيذية والمكتبة أسفل "كل مستخدم السجن" ، بما في ذلك rssh قذيفة نفسها. إنها طريقة إهدار المساحة.

scponly يحتاج إلى فهم عميق في التكوين الذي يؤدي إلى مشكلة دائمة في رفض تسجيل الدخول في حالة إعداد السجن.

إن الطريقة المباشرة للسماح بوظائف "ftp" مع عمل السجن بشكل صحيح ، دعم SSL / TLS للمعاملات الآمنة وتسجيل الدخول هو استخدام VSFTPD "القديم-لكن-العامل" ، الذي يثبت بسرعة ونظيفًا ويقدم كل قابلية التكوين حسب الحاجة ، وآخر ولكن ليس أقلها: إنها تعمل!

ماوريتسيو.


0
2018-04-23 12:47