本文档介绍如何使用SFTP上传下载NAS文件系统上的数据。

前提条件

在NAS文件系统所在地域,已购买ECS实例(以CentOS操作系统为例),详细请参见创建ECS实例

背景信息

SFTP的传输速度依赖于ECS的外网带宽,请根据业务需求配置适当的网络带宽。

操作步骤

  1. 登录云服务器ECS
  2. 修改配置文件/etc/ssh/sshd_config
    1. sshd_config配置文件中的 subsystem 行注释掉,新增一行 Subsystem sftp internal-sftp
      # override default of no subsystems
      #Subsystem      sftp    /usr/libexec/openssh/sftp-server
      Subsystem     sftp   internal-sftp
    2. sshd_config 文件末尾添加如下内容。

      其中 /usr/sftp 为sftp根目录,请根据实际情况修改。

      X11Forwarding no
      AllowTcpForwarding no
      ForceCommand internal-sftp
      ChrootDirectory /usr/sftp
  3. 设置相关权限。
    1. 执行以下命令添加用户组。
      groupadd sftp
    2. 执行添以下命令添加用户并设置为SFTP组。
      useradd -g sftp -s /sbin/nologin -M sftp
    3. 执行以下命令设置SFTP用户密码。
      passwd sftp
    4. 创建SFTP用户的根目录、属主和属组,并修改权限(755)。
      cd /usr
      mkdir sftp
      chown root:sftp sftp
      chmod 755 sftp
  4. 在SFTP目录中,创建NAS挂载目录。
    cd sftp/
    mkdir file
    chown sftp:sftp file
  5. 执行以下命令将NAS文件系统挂载到 /usr/sftp/file 目录。
    sudo mount -t nfs -o vers=4.0 xxx-xxx.cn-zhangjiakou.nas.aliyuncs.com:/ /usr/sftp/file
  6. 执行以下命令重启sshd服务。
    service sshd restart
  7. 登录SFTP服务,上传下载文件。

    账号密码为步骤 3中配置的用户和密码。此处以WinSCP客户端为例,可根据实际情况使用支持SFTP协议的客户端进行连接。

    客户端