牛X 好用的sshd_config:ChrootDirectory:特別注意【該目錄必須是只能且僅能root用戶有w權限!】


【ChrootDirectory】目的和用途:實現chroot

 特別注意:該目錄,必須!!必須!!只有且僅有root用戶有w權限,其他用戶不能有w權限!

否則,會出現 “Write failed: Broken pipe” 錯誤。

【ChrootDirectory】用法1:全局禁用,Match條件啟用

#ChrootDirectory none


# override default of no subsystems
#Subsystem    sftp    /usr/libexec/openssh/sftp-server
Subsystem    sftp    internal-sftp

# Example of overriding settings on a per-user basis
#Match User root,user2
#    X11Forwarding no
#    AllowTcpForwarding no
#    ChrootDirectory none


Match User user3 
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory /root/jin

Match Group chroot
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory /root/jin

 

【ChrootDirectory】用法2:全局起用,Match條件禁用(比如,root例外)

ChrootDirectory /root/jin

# override default of no subsystems
#Subsystem    sftp    /usr/libexec/openssh/sftp-server
Subsystem    sftp    internal-sftp

# Example of overriding settings on a per-user basis
Match User root,user2
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory none

 

【ChrootDirectory】難點:必須自己手工准備這個“chroot directory”

  • 可以自己從宿主系統通過ldd和strace從頭分析、提取相關文件搭建;
  • 也可以直接找一個rootfs系統搭建,典型的如alpine-minirootfs-3.13.5-x86_64.tar
  • 再難點的,你可以通過baseos或docker image中提取相關文件系統來搭建
  • 更加騷的操作是,直接解壓各種livecd的squashfs來搭建

 

【ChrootDirecory】注意事項:

  • sftp子系統,強烈推薦使用internal-sftp 來代替傳統兼容模式的openssh-sftp
  • ssh登錄一般不會有問題,但scp就不一定了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM