ฉันจะตั้งค่า SFTP สำหรับเว็บไซต์โดยไม่ให้สิทธิ์การเข้าถึงเชลล์ได้อย่างไร


10

ฉันต้องการใช้ SFTP สำหรับเว็บไซต์ทั้งหมดในเซิร์ฟเวอร์ cPanel CentOS ของฉันเนื่องจากเราเคยแฮ็กรหัสผ่าน FTP มาก่อน (ไม่ยาก) อย่างไรก็ตามฉันไม่ต้องการให้บัญชี SFTP แต่ละไซต์มีการเข้าถึงเชลล์ (ไม่ใช่แม้แต่เชลล์ที่ติดคุก) เป็นไปได้และเป็นอย่างไร ฉันเงียบใหม่สำหรับ UNIX การจัดการเซิร์ฟเวอร์และบรรทัดคำสั่ง

คำตอบ:


12

ฉันไม่แน่ใจว่า OpenSSH เวอร์ชันใดที่มาพร้อมกับ CentOS แต่ถ้าเป็น 4.9 หรือใหม่กว่านั้นคุณสามารถทำได้ด้วย OpenSSH จริงโดยไม่จำเป็นต้องติดตั้งซอฟต์แวร์เพิ่มเติมใด ๆ

ฉันเขียนโพสต์บล็อกเกี่ยวกับเรื่องนี้เมื่อเร็ว ๆ นี้คุณสามารถตรวจสอบได้ที่นี่: http://blog.frands.net/sftp-only-chroot-users-with-openssh-in-debian-166/

คำแนะนำสำหรับ Debian แต่มันก็ค่อนข้างจะเหมือนกันถ้าเวอร์ชั่นของ OpenSSH คือ 4.9 ขึ้นไป คุณค้นหาเวอร์ชันโดยออกคำสั่งนี้:

ssh -V

นอกจากนี้ในตัวอย่างของฉันฉันใช้ไดเรกทอรีคงที่สำหรับผู้ใช้ทั้งหมด คุณสามารถใช้% u ในไฟล์กำหนดค่าซึ่งจะถูกแทนที่ด้วยชื่อผู้ใช้ ดังนั้น ChrootDirectory สามารถตั้งค่าเป็น / www / users /% u


+1 สำหรับซอฟต์แวร์ที่ไม่เพิ่ม!
walkeran

โพสต์บล็อกที่ยอดเยี่ยม Frands! ผมทำตามมันไปยัง T และทุกอย่างเพียงแค่ทำงาน
เซนเต้


5

RSSH - SSH ที่ถูก จำกัด จะทำสิ่งที่คุณเป็นหลังจากนั้น

RSSH เป็นตัวหุ้มเชลล์ที่จะอนุญาตให้ผู้ใช้เข้าถึงชิ้นส่วน SSH ที่คุณอนุญาตเท่านั้นมันค่อนข้างยุ่งยากในการตั้งค่าในตอนแรกด้วยสภาพแวดล้อม chroot เป็นต้น

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


2

คุณอาจต้องการพิจารณาMySecureShellซึ่งมี:

ควบคุมแบนด์วิดธ์ ข้อมูลสิทธิ์ด้านความปลอดภัย การดูแลเซิร์ฟเวอร์ด้วยส่วนต่อประสานกราฟิก การจัดการกิจกรรมของเซิร์ฟเวอร์ด้วยบันทึก ข้อ จำกัด ของผู้ใช้โดย ip, กลุ่ม

ฉันเคยใช้สิ่งนี้ในอดีต; มันง่ายต่อการติดตั้งและกำหนดค่าและพัฒนาขึ้นอย่างแข็งขัน สำหรับคุณมีแพ็คเกจ CentOSและGUIเพื่อช่วยในการกำหนดค่าและการจัดการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.