文档首页/ 弹性云服务器 ECS/ 常见问题/ 文件上传/数据传输/ 本地Linux主机使用SFTP上传文件到Linux云服务器
更新时间:2022-08-14 GMT+08:00

本地Linux主机使用SFTP上传文件到Linux云服务器

操作场景

本节操作以CentOS操作系统为例,介绍配置SFTP、使用SFTP上传或下载文件、文件夹的操作步骤。

操作步骤

  1. 以root用户登录云服务器
  2. 执行以下命令查看ssh版本,OpenSSH版本大于等于4.8p1。

    ssh -V

    回显信息如下所示:

    # OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
  3. 创建用户和组,以user1用户为例。

    groupadd sftp

    useradd -g sftp -s /sbin/nologin user1

  4. 设置用户密码。

    passwd user1

    图1 设置用户密码
  5. 设置目录权限。

    chown root:sftp /home/user1

    chmod 755 -R /home/user1

    mkdir /home/user1/upload

    chown -R user1:sftp /home/user1/upload

    chmod -R 755 /home/user1/upload

  6. 执行以下命令,编辑sshd_config文件。

    vim /etc/ssh/sshd_config

    注释掉如下信息
    #Subsystem sftp /usr/libexec/openssh/sftp-server

    补充如下内容:

    Subsystem sftp internal-sftp
    Match Group sftp
    ChrootDirectory /home/%u 
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
    图2 sshd_config文件补充配置信息后
  7. 重启云服务器,或执行以下命令重启sshd服务。

    service sshd restart

    systemctl restart sshd

  8. 在本地主机执行以下命令,远程连接到服务器。

    sftp root@IP地址

  9. 连接成功后,您可以使用交互式的sftp命令。

  10. 执行以下命令,上传或下载文件、文件夹。

    上传文件:put -r

    下载文件:get -r