ฉันกำลังตั้งค่า SFTP สำหรับกลุ่มผู้ใช้ที่ฉันต้องการเข้าถึง SFTP เท่านั้น เพื่อวัตถุประสงค์ในการอัปโหลดไฟล์ไปยังเซิร์ฟเวอร์ ฉันให้พวกเขาติดคุกที่โฮมไดเร็กทอรีของพวกเขาเอง และบล็อกการเข้าสู่ระบบเชลล์แล้ว แต่ละโฮมไดเร็กตอรี่มีโฟลเดอร์ย่อยสำหรับรับการอัพโหลด ฉันต้องการให้การเชื่อมต่อ SFTP เปลี่ยนไปยังโฟลเดอร์อัปโหลดนี้โดยอัตโนมัติเมื่อเข้าสู่ระบบ มาตรฐานสวย
ฉันกำลังใช้ คำสั่งบังคับ
คำสั่งเพื่อให้บรรลุผลสำเร็จบนเซิร์ฟเวอร์เก่าอย่างไรก็ตาม บนเซิร์ฟเวอร์ใหม่ที่ฉันกำลังเตรียมการอยู่ วิธีนี้ใช้งานไม่ได้ ทำไม
/etc/ssh/sshd_config.d/sftpgroup.conf
จับคู่กลุ่ม ftpgroup
# สองคำสั่งต่อไปนี้บังคับให้ ftpgroup กลายเป็น chrooted
# และมี SFTP เท่านั้น ไม่จำเป็นต้องตั้งค่า chroot อื่นๆ
ChrootDirectory /home/ftp_users/%u
ForceCommand ภายใน-sftp -u 0002
# สำหรับความหวาดระแวงเพิ่มเติม ไม่อนุญาตให้ส่งต่อพอร์ตทุกประเภท
อนุญาตให้ Tcp ส่งต่อหมายเลข
หมายเลขเกตเวย์พอร์ต
X11หมายเลขการส่งต่อ
# บังคับการบันทึกในเครื่อง
ForceCommand /usr/lib/openssh/sftp-server -l VERBOSE
# เปลี่ยนไดเร็กทอรีเริ่มต้นเป็น ~/upload
ForceCommand ซีดี / อัปโหลด
/var/log/auth.log ด้วย LogLevel DEBUG3
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: userauth-request สำหรับผู้ใช้ myuser service ssh-connection method ไม่มี [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: พยายาม 0 ล้มเหลว 0 [ตรวจสอบล่วงหน้า]
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_getpwnamallow เข้าสู่ [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_send เข้า: พิมพ์ 8 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_getpwnamallow: กำลังรอ MONITOR_ANS_PWNAM [ตรวจสอบสิทธิ์]
9 มี.ค. 15:18:03 น. MyServer sshd[393644]: debug3: mm_request_receive_expect enter: type 9 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive กำลังเข้าสู่ [preauth]
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive เข้ามา
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: monitor_read: กำลังตรวจสอบคำขอ 8
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_answer_pwnamallow
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug2: parse_server_config_html: config reprocess config len 383
9 มีนาคม 15:18:03 น. MyServer sshd[393644]: debug2: parse_server_config_html: config /etc/ssh/sshd_config.d/sftpgroup.conf len 228
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: กำลังตรวจสอบการจับคู่สำหรับ 'กลุ่ม ftpgroup,!sftpgroup' ผู้ใช้ myuser โฮสต์ 1.2.3.4 addr 1.2.3.4 laddr 10.0.0.4 lport 22
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: ผู้ใช้ myuser ไม่ตรงกับรายการกลุ่ม ftpgroup,!sftpgroup ที่บรรทัด 4
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: ไม่พบการจับคู่
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: ตรวจสอบการจับคู่สำหรับผู้ใช้ 'กลุ่ม ftpgroup' โฮสต์ myuser 1.2.3.4 addr 1.2.3.4 laddr 10.0.0.4 lport 22
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: ผู้ใช้ myuser จับคู่รายการกลุ่ม ftpgroup ที่บรรทัด 9
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: พบการจับคู่
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: /etc/ssh/sshd_config.d/sftpgroup.conf:12 การตั้งค่า ChrootDirectory /home/ftp_users/%u
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: /etc/ssh/sshd_config.d/sftpgroup.conf:13 การตั้งค่า ForceCommand internal-sftp -u 0002
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: /etc/ssh/sshd_config.d/sftpgroup.conf:15 การตั้งค่า AllowTcpForwarding ไม่
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: /etc/ssh/sshd_config.d/sftpgroup.conf:16 ตั้งค่า GatewayPorts no
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: /etc/ssh/sshd_config.d/sftpgroup.conf:17 การตั้งค่า X11 หมายเลขการส่งต่อ
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: /etc/ssh/sshd_config.d/sftpgroup.conf:21 การตั้งค่า ForceCommand cd /upload
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_answer_pwnamallow: กำลังส่ง MONITOR_ANS_PWNAM: 1
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_request_send เข้า: พิมพ์ 9
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug2: monitor_read: 8 ใช้ครั้งเดียวปิดการใช้งานทันที
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug2: input_userauth_request: ตั้งค่า authctxt สำหรับ myuser [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_start_pam เข้าสู่ [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_send เข้า: พิมพ์ 100 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_inform_authserv เข้าสู่ [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_send การป้อน: พิมพ์ 4 [preauth]
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug2: input_userauth_request: ลองไม่มีวิธีการ [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: user_specific_delay: ความล่าช้าเฉพาะของผู้ใช้ 0.000ms [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: sure_minimum_time_since: ผ่านไป 2.862ms, ล่าช้า 4.136ms (ขอ 6.998ms) [ตรวจสอบล่วงหน้า]
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive เข้ามา
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: monitor_read: กำลังตรวจสอบคำขอ 100
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: PAM: การเริ่มต้นสำหรับ "myuser"
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: PAM: ตั้งค่า PAM_RHOST เป็น "1.2.3.4"
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: PAM: ตั้งค่า PAM_TTY เป็น "ssh"
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug2: monitor_read: 100 ใช้ครั้งเดียวปิดการใช้งานทันที
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive เข้ามา
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: monitor_read: กำลังตรวจสอบคำขอ 4
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_answer_authserv: service=ssh-connection, style=, role=
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug2: monitor_read: 4 ใช้ครั้งเดียวปิดการใช้งานทันที
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: userauth_finish: failure partial=0 next method="publickey,password" [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: ส่งแพ็กเก็ต: พิมพ์ 51 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: รับแพ็กเก็ต: ประเภท 2 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: ได้รับ SSH2_MSG_IGNORE [ตรวจสอบล่วงหน้า]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: รับแพ็กเก็ต: พิมพ์ 50 [preauth]
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug1: userauth-request for user myuser service ssh-connection method password [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: พยายาม 1 ล้มเหลว 0 [preauth]
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug2: input_userauth_request: ลองรหัสผ่านวิธี [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_auth_password เข้าสู่ [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_send เข้า: พิมพ์ 12 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_auth_password: กำลังรอ MONITOR_ANS_AUTHPASSWORD [preauth]
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive_expect enter: type 13 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive กำลังเข้าสู่ [preauth]
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive เข้ามา
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: monitor_read: กำลังตรวจสอบคำขอ 12
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: PAM: sshpam_passwd_conv ถูกเรียกด้วย 1 ข้อความ
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: PAM: ยอมรับการตรวจสอบรหัสผ่านสำหรับ myuser
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_answer_authpassword: การส่งผลลัพธ์ 1
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_request_send เข้า: พิมพ์ 13
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive_expect กำลังป้อน: ประเภท 102
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive เข้ามา
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: do_pam_account: เรียก
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug2: do_pam_account: รับรองข้อมูลใน SSH_AUTH_INFO_0
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: PAM: do_pam_account pam_acct_mgmt = 0 (สำเร็จ)
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_send กำลังป้อน: พิมพ์ 103
9 มีนาคม 15:18:03 MyServer sshd[393644]: รหัสผ่านที่ยอมรับสำหรับ myuser จากพอร์ต 1.2.3.4 55095 ssh2
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: monitor_child_preauth: myuser ได้รับการรับรองโดยกระบวนการพิเศษ
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_get_keystate: กำลังรอคีย์ใหม่
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive_expect กำลังป้อน: ประเภท 26
9 มี.ค. 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive เข้ามา
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_get_keystate: GOT คีย์ใหม่
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_auth_password: ผู้ใช้รับรองความถูกต้อง [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: user_specific_delay: ความล่าช้าเฉพาะของผู้ใช้ 0.000ms [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: sure_minimum_time_since: ผ่านไป 7.172ms, ล่าช้า 6.825ms (ขอ 6.998ms) [ตรวจสอบสิทธิ์]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_do_pam_account เข้าสู่ [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_send เข้า: พิมพ์ 102 [preauth]
9 มี.ค. 15:18:03 น. MyServer sshd[393644]: debug3: mm_request_receive_expect enter: type 103 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_receive กำลังเข้าสู่ [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_do_pam_account ส่งคืน 1 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: ส่งแพ็กเก็ต: พิมพ์ 52 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_request_send เข้า: พิมพ์ 26 [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: mm_send_keystate: เสร็จสิ้นการส่งสถานะ [preauth]
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: monitor_read_log: ปิดบันทึก fd ของเด็ก
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: ssh_sandbox_parent_finish: เสร็จสิ้น
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug1: PAM: การสร้างข้อมูลประจำตัว
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: PAM: การเปิดเซสชัน
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug2: do_pam_session: ตรวจสอบข้อมูลใน SSH_AUTH_INFO_0
9 มีนาคม 15:18:03 MyServer sshd[393644]: pam_unix(sshd:session): เซสชันเปิดสำหรับผู้ใช้ myuser(uid=1001) โดย (uid=0)
9 มีนาคม 15:18:03 MyServer systemd-login[607]: เซสชันใหม่ 530 ของผู้ใช้ myuser
9 มีนาคม 15:18:03 MyServer systemd: pam_unix(systemd-user:session): เซสชันเปิดสำหรับผู้ใช้ myuser(uid=1001) โดย (uid=0)
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: PAM: sshpam_store_conv ถูกเรียกด้วย 1 ข้อความ
9 มีนาคม 15:18:03 MyServer sshd[393644]: debug3: PAM: sshpam_store_conv ถูกเรียกด้วย 1 ข้อความ
9 มีนาคม 15:18:03 MyServer sshd[393644]: ลูกของผู้ใช้อยู่ใน pid 393672
9 มีนาคม 15:18:03 MyServer sshd[393672]: debug1: ปิดใช้งานการสนับสนุน SELinux
9 มีนาคม 15:18:03 MyServer sshd[393672]: debug1: PAM: การสร้างข้อมูลประจำตัว
9 มีนาคม 15:18:03 MyServer sshd[393672]: debug3: safe_chroot: กำลังตรวจสอบ '/'
9 มีนาคม 15:18:03 MyServer sshd[393672]: debug3: safe_chroot: กำลังตรวจสอบ '/ home/'
9 มีนาคม 15:18:03 MyServer sshd[393672]: debug3: safe_chroot: กำลังตรวจสอบ '/home/ftp_users/'
9 มีนาคม 15:18:03 MyServer sshd[393672]: debug3: safe_chroot: กำลังตรวจสอบ '/home/ftp_users/myuser'
9 มี.ค. 15:18:04 MyServer sshd[393644]: debug3: mm_request_receive เข้ามา
9 มีนาคม 15:18:04 MyServer sshd[393644]: debug3: monitor_read: กำลังตรวจสอบคำขอ 113
9 มีนาคม 15:18:04 MyServer sshd[393644]: debug3: mm_answer_audit_command กำลังเข้าสู่
ssh -V
เซิร์ฟเวอร์เก่า:
- OpenSSH_7.9p1 Debian-10+deb10u2, OpenSSL 1.1.1d 10 ก.ย. 2019
เซิร์ฟเวอร์ใหม่:
- OpenSSH_8.4p1 Debian-5, OpenSSL 1.1.1k 25 มี.ค. 2564
อัปเดต
ปรากฎว่าระบบเก่าใช้งานได้จริงเนื่องจากโฟลเดอร์โฮมและ symlink ที่ถูกจัดการแทนที่จะเป็นเพราะ คำสั่งบังคับ
คำสั่งในระบบนั้น (แม้ว่าจะมีคำสั่งนั้นอยู่ก็ตาม)
ln -s /home/ftp_users/myuser /home/myuser
usermod -d /home/myuser myuser
ln -s ../upload /home/ftp_users/myuser/home/myuser
ดังนั้นเมื่อผู้ใช้เข้าสู่ระบบและเปลี่ยนเป็น ~
มันไป /home/myuser
ซึ่งเป็นสัญลักษณ์สำหรับ /ที่อัพโหลด
. เมื่อจับคู่การตั้งค่าโฮมโฟลเดอร์กับระบบเก่า ระบบใหม่จะกำหนดเส้นทางอย่างถูกต้องเมื่อเข้าสู่ระบบ ค่อนข้างแฮ็กและค่อนข้างแย่ (พยายามหลีกเลี่ยง) แต่มัน "ได้ผล"
ดังนั้นคำถามจะกลายเป็นว่าทำไมไม่ คำสั่งบังคับ
ลบล้างสิ่งนี้? มันดำเนินการทั้งหมดหรือไม่ ฉันจะบอกได้อย่างไร