• 牛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就不一定了。
  • 相关阅读:
    LeetCode 链表题总结
    分布式系统 MIT 6.824 Lab 1: MapReduce 准备
    Consul 入门(二)
    Consul 入门
    IDEA批量修改变量快捷键
    Spring源码解析-JdbcTemplate
    SpringMVC源码解析-HTTP请求处理和分发
    SpringMVC源码解析-DispatcherServlet启动流程和初始化
    发现一个网站可以看英文版的harry potter小说,好东西分享一下哈
    TypeSrcript如何引入第三方库 如果加d.ts以及async await如何使用 demo,只有代码,文字后续补充
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/14845232.html
Copyright © 2020-2023  润新知