linux 配置 SFTP

作者: forestpeak | 来源:发表于2019-03-25 23:03 被阅读32次

    linux 配置 SFTP

    参考资料
    https://blog.csdn.net/yanzhenjie1003/article/details/70184221 转自严振杰的博客
    https://www.cnblogs.com/whatmiss/p/7068772.html

    1.安装ssh和openssh-sftp-server

    2.建立用户组和用户

    1. 建立一个名为sftp-users的sftp用户组
    sudo groupadd sftp-users
    
    1. 在该组建立几个需要登录sftp的用户
    # 新建用户名为admin的用户:
    sudo useradd -g sftp-users -m admin
    # 修改admin的密码:
    passwd admin
    # 如果该用户已存在,但是不在sftp-users组中,可以移动用户到改组
    usermod –g sftp_users admin
    

    3.配置ssh和权限

    1. 打开/etc/ssh/sshd_config文件,修改或添加如下两条
    AllowTcpForwarding = no
    X11Forwarding = no
    
    1. 修改Subsystem sftp为internal-sftp
    Subsystem sftp /usr/libexec/openssh/sftp-server
    # 或者
    Subsystem sftp /usr/lib/openssh/sftp-server
    

    修改为:

    Subsystem sftp internal-sftp
    
    • 为什么用 internal-sftp 而不用默认的 sftp-server,这是因为:
    • 这是一个进程内的 sftp 服务,当用户 ChrootDirectory 的时候,将不请求任何文件;
    • 更好的性能,不用为 sftp 再开一个进程。

    3.在文件末尾增加内容

    Match Group sftp-users
        ChrootDirectory %h
        ForceCommand internal-sftp
    
    • Match Group sftp-users这一行是指定以下的子行配置是匹配sftp-users用户组的,多个用户组用英文逗号分隔。
    • ChrootDirectory %h该行指定Match Group行指定的用户组验证后用于chroot环境的路径,也就是默认的用户目录,比如/home/admin;也可以写明确路径,例如/data/www。
    • ForceCommand internal-sftp该行强制执行内部sftp,并忽略任何~/.ssh/rc文件中的命令。

    4.修改sftp-users用户组用户目录权限

    1. 修改权限为root用户拥有
    chown root /home/admin
    
    1. 修改权限为root可读写执行,其它用户可读
    chmod 755 /home/admin
    
    1. 重启ssh,登录sftp
    # Ubuntu 重启ssh
    sudo service ssh restart
    # CentOS 重启ssh
    sudo systemctl restart sshd.service
    # CentOS 设置开机启动
    sudo systemctl enable sshd.service
    
    1. 在用户目录下建立子upload目录,让sftp-users中的用户可读写文件
    cd /home/admin/
    mkdir upload
    
    1. 授权upload文件夹读写
    • 让子文件夹upload属于admin
    chown admin /home/admin/upload
    
    • 让子文件夹upload被admin读写
    chmod 755 /home/admin/upload
    
    1. 重启ssh,登录sftp

    相关文章

      网友评论

        本文标题:linux 配置 SFTP

        本文链接:https://www.haomeiwen.com/subject/yrbivqtx.html