使用SFTP上传下载阿里云文件存储数据

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

前提条件

在文件存储文件系统所在地域,已购买阿里云服务器(以下介绍将以CentOS操作系统为例),详细请参见创建阿里云服务器。

背景信息

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

操作步骤

  1. 登录阿里云服务器
  2. 修改配置文件/etc/ssh/sshd_config

    • 将 sshd_config配置文件中的 Subsystem 行注释掉,新增一行 Subsystem sftp internal-sftp

      # override default of no subsystems#Subsystem sftp /usr/libexec/openssh/sftp-serverSubsystem sftp internal-sftp

    • 在 sshd_config 文件末尾添加如下内容。其中 /usr/sftp 为sftp根目录,请根据实际情况修改

      X11Forwarding noAllowTcpForwarding noForceCommand internal-sftpChrootDirectory /usr/sftp

  3. 设置相关权限

    • 3.1 执行以下命令添加用户组。

      groupadd sftp

    • 3.2 执行添以下命令添加用户并设置为SFTP组。

      useradd -g sftp -s /sbin/nologin -M sftp

    • 3.3 执行以下命令设置SFTP用户密码。

      passwd sftp

    • 3.4 创建SFTP用户的根目录、属主和属组,并修改权限(755)。

      cd /usr mkdir sftp chown root:sftp sftp chmod 755 sftp

  4. 在SFTP目录中,创建文件存储的挂载目录,并修改权限

cd sftp/mkdir mntchown sftp:sftp mnt

  1. 执行以下命令将文件存储文件系统挂载到/usr/sftp/mnt 目录

mount -t nfs4 -o minorversion=1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport cfs-q2BPKzxxxx.lb-5179xxxx.cfs.bj.baidubce.com:/ /usr/sftp/mnt

  1. 执行以下命令重启sshd服务

    service sshd restart

  2. 登录SFTP服务,上传、下载文件

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