zoukankan      html  css  js  c++  java
  • centos7.6设置sftp服务

    sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。

    CentOS自带 SSH 服务,直接配置即可

    1. 查看ssh版本

    sftp是基于ssh协议的,首先查看ssh版本,openssh-server版本至少得是4.8p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成。

    [root@iZuf6gglwrfdrwtaluuoe8Z ~]# ssh -V
    OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017

    2. 创建用户和组

    [root@iZuf6gglwrfdrwtaluuoe8Z ~]# groupadd sftp 
    [root@iZuf6gglwrfdrwtaluuoe8Z ~]# useradd -g sftp -s /sbin/nologin user1

    3. 设置目录权限

    
    
    [root@iZuf6gglwrfdrwtaluuoe8Z ~]# chown root:sftp /home/user1 
    [root@iZuf6gglwrfdrwtaluuoe8Z ~]# chmod 755 -R /home/user1
    #设置用户可以上传的目录,改目录下允许用户上传删除修改文件及文件夹 
    [root@iZuf6gglwrfdrwtaluuoe8Z ~]# mkdir /home/user1/upload
    [root@iZuf6gglwrfdrwtaluuoe8Z ~]# chown -R user1:sftp /home/user1/upload
    [root@iZuf6gglwrfdrwtaluuoe8Z ~]# chmod -R 755 /home/user1/upload

    4. 修改配置文件sshd_config

    vim /etc/ssh/sshd_config

    修改为如下:

    #注释掉这行
    #Subsystem sftp /usr/libexec/openssh/sftp-server 
    
    #在最后面增加以下6行
    Subsystem sftp internal-sftp 
    Match Group sftp
    ChrootDirectory /home/%u #设定属于用户组sftp的用户访问的根文件夹
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no #设置不允许SSH的X转发

    5. 重启sshd服务

    service sshd restart

    或者

    systemctl restart sshd

    6. 验证sftp服务

    MacBook-Pro:downloads$ sftp user1@10.10.10.200
    user1@10.10.10.200's password:
    Connected to 10.10.10.200.
    sftp>ls
    upload
    sftp>

    见到如上字样则证明成功

    7. sftp常见命令

    远程命令: cd, ls, pwd
    本地命令:远程命令前加l , 如 lcd, lls, lpwd

    或者

    上传命令: put
    下载命令:get
    退出: bye 或者 exit
  • 相关阅读:
    Pyhont 高阶函数
    Python 函数式编程
    Python 递归函数
    Python 函数的参数定义
    Lniux学习-AWK使用
    Windows10 下 VirtualBox6 中 Centos8 无法安装"增强功能"
    Linux学习-Shell-系统启动过程与执行方式
    接口测试-工具介绍
    Linux学习-Sed 命令
    Linux学习-命令行参数、函数
  • 原文地址:https://www.cnblogs.com/cs99lzzs/p/10786795.html
Copyright © 2011-2022 走看看