本文介绍如何使用SFTP上传和下载文件存储文件系统上的数据。
前提条件
在文件存储文件系统所在地域,已购买阿里云服务器(以下介绍将以CentOS操作系统为例),详细请参见创建阿里云服务器。
背景信息
SFTP的传输速度依赖于阿里云服务器的外网带宽,请根据业务需求配置适当的网络带宽。
操作步骤
- 登录阿里云服务器
-
修改配置文件/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.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
-
- 在SFTP目录中,创建文件存储的挂载目录,并修改权限
cd sftp/mkdir mntchown sftp:sftp mnt
- 执行以下命令将文件存储文件系统挂载到/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
-
执行以下命令重启sshd服务
service sshd restart
- 登录SFTP服务,上传、下载文件
账号密码为步骤3中配置的用户和密码。此处以Cyberduck客户端为例,可根据实际情况使用支持SFTP协议的客户端进行连接。