ฉันต้องการที่จะกำหนดค่า SFTP เซิร์ฟเวอร์ที่จะแบ่งปันไดเรกทอรี /etc/ssh/sshd_config
แต่ผมไม่ทราบว่าวิธีการแก้ไข
ความต้องการของฉันคือ:
1) การเข้าสู่ระบบจะไม่ใช้ใบรับรองรหัสผ่านเท่านั้น (เช่นการอนุญาตใช้วิธีการรหัสผ่าน)
2) ฉันต้องการเข้าสู่ระบบด้วยผู้ใช้: ftp, รหัสผ่าน: foo และแชร์ไดเรกทอรี / home / ftp
3) ฉันมีแอปพลิเคชั่นที่ต้องการดาวน์โหลดไฟล์จากเซิร์ฟเวอร์เป็นระยะ ๆ ฉันไม่จำเป็นต้องลงชื่อเข้าใช้ด้วยไคลเอนต์ปฏิบัติการแบบเต็ม
จนถึงตอนนี้ฉันเพิ่มบรรทัดต่อไปนี้ใน / etc / ssh / sshd_config:
Protocol 2
Subsystem sftp /usr/libexec/sftp-server
Match User ftp
ForceCommand internal-sftp
ChrootDirectory /home/ftp
ทุกอย่างอื่นถูกแสดงความคิดเห็น
/home/ftp
เป็นไดเรกทอรีว่างเปล่าในขณะนี้
Access ทำงานหากฉันพยายามดาวน์โหลดไฟล์โดยใช้ข้อมูลประจำตัวรูท แต่จะไม่ทำงานหากฉันใช้ข้อมูลรับรอง ftp ฉันจำเป็นต้องตั้งค่าล็อกอินเชลล์หรือไม่? ฉันจำเป็นต้องเติม / home / ftp อย่างใดหรือไม่?
แก้ไข: นี่คือบันทึก sshd ของฉัน:
subsystem request for sftp
debug1: subsystem: exec() internal-sftp
debug1: Forced command (config) 'internal-sftp '
debug2: fd 3 setting TCP_NODELAY
debug2: fd 9 setting O_NONBLOCK
debug2: fd 8 setting O_NONBLOCK
debug1: Received SIGCHLD.
debug1: session_by_pid: pid 17613
debug1: session_exit_message: session 0 channel 0 pid 17613
debug2: channel 0: request exit-status confirm 0
debug1: session_exit_message: release channel 0
debug2: channel 0: write failed
debug2: channel 0: close_write
debug2: channel 0: send eow
debug2: channel 0: output open -> closed
debug2: channel 0: read<=0 rfd 9 len 0
debug2: channel 0: read failed
debug2: channel 0: close_read
debug2: channel 0: input open -> drain
debug2: channel 0: ibuf empty
debug2: channel 0: send eof
debug2: channel 0: input drain -> closed
debug2: channel 0: send close
debug2: notify_done: reading
debug3: channel 0: will not send data after close
debug3: channel 0: will not send data after close
User child is on pid 17611
debug3: mm_request_receive entering
* ลูกค้าค้างที่นี่ (จนกว่าจะหมดเวลา) *
โปรดทราบอีกครั้งว่าถ้าฉันเข้าสู่ระบบในฐานะ "รูท" ไฟล์จะดาวน์โหลดอย่างถูกต้อง นอกจากนี้ยังดาวน์โหลดอย่างถูกต้องหากฉันใส่เครื่องหมายสามบรรทัดสุดท้ายของไฟล์กำหนดค่า (เช่นMatch
บรรทัดและ 2 ต่อไปนี้)
ssh
หรือ PuTTY บน Windows ได้หรือไม่? คุณใช้ OpenSSH เวอร์ชันใดอยู่