如何利用云存储网关搭建SFTP服务器访问OSS存储

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 本文将介绍在linux服务器上如何通过在云存储网关共享上搭建FTP服务器来实现对OSS内数据的分发与共享。

背景

云存储文件网关是阿里云提供的存储网关产品,它可以满足用户通过NFS或Samba等协议访问OSS对象存储数据的需求。而通过简单的配置,我们也可以基于文件网关来配置一台FTP服务器,让用户通过FTP来访问OSS中的数据,实现用FTP客户端上传和下载同步OSS bucket中存储的数据。

本文将介绍在linux服务器上如何通过在云存储网关共享上搭建FTP服务器来实现对OSS内数据的分发与共享。

准备工作

添加NFS共享

(注:关于如何开通及创建云存储网关,大家可以参考 如何在Linux上挂载OSS Bucket 这篇文章)

首先,通过云存储文件网关管理控制台,为想要通过FTP访问的Bucket添加一个新的NFS共享(如果不需要共享整个bucket,请在创建共享时勾选子目录并填入要共享的子目录路径):

image

在配置共享时,如果有很多数据需要从OSS反向同步到文件网关的话,建议打开极速同步功能,这样可以保证我们在OSS中上传的文件及时同步到文件网关中。关于极速同步功能,可以参考 文件网关秒级同步OSS变更对象初体验

image

挂载共享目录

接下来,我们在linux服务器上创建/ftp目录,并将新创建的nfs共享挂载到/ftp目录下:

# 1. 创建ftp服务器使用的目录
[root@csg ~]# mkdir -p /var/ftp/oss-bucket

# 2. 使用showmount 命令查看新创建的网关共享
[root@csg ~]# showmount -e <网关IP地址>

# 3. 挂载共享目录到/var/ftp/oss-bucket目录下
[root@csg ~]# mount -t nfs <网关IP地址>:<共享路径> /var/ftp/oss-bucket

# 4. 查看目录挂载状态
[root@csg ~]# df -h /var/ftp/oss-bucket

搭建ftp服务器

1. 安装ftp服务

我们以centos 为例,安装ftp服务vsftpd:

[root@csg ~]# yum -y install vsftpd

2. 添加ftp用户

[root@csg ~]# useradd ftpuser1
[root@csg ~]# passwd ftpuser1

3. 配置vsftpd

[root@csg ~]# vi /etc/vsftpd/vsftpd.conf
## 常规配置
# line 12: 关闭匿名用户登陆
anonymous_enable=NO
# line 82,83: 允许ascii模式访问
ascii_upload_enable=YES
ascii_download_enable=YES
# line 100, 101: 使能chroot
chroot_local_user=YES
chroot_list_enable=YES
# line 103: 指定chroot用户列表配置文件路径
chroot_list_file=/etc/vsftpd/chroot_list
# line 109: 使能ls recurse
ls_recurse_enable=YES
# line 114: 如果使用ECS IPV4地址,修改下面一行并按需关闭IPV6
listen=YES
# line 123: 
listen_ipv6=NO

# 添加下面几行配置到配置文件中
# 修改使用的chroot目录,我们配置为挂载了文件网关NFS共享的路径 (如果不指定的话,会默认使用ftp用户的home目录而不是NFS挂载目录)
local_root=/var/ftp/oss-bucket

# 使用本地时间
use_localtime=YES
# 关闭seccomp filter
seccomp_sandbox=NO

# 指定客户端passive模式访问端口,可自由指定
pasv_min_port=12001
pasv_max_port=12005
# 添加chroot允许用户
[root@csg ~]# vi /etc/vsftpd/chroot_list
# 添加允许chroot的ftp用户
ftpuser1

启动vsftpd服务

[root@csg ~]# systemctl start vsftpd
[root@csg ~]# systemctl enable vsftpd

如果开启了防火墙,需要添加规则允许ftp端口的访问:

[root@csg ~]# firewall-cmd --add-service=ftp --permanent
success
[root@csg ~]# firewall-cmd --reload
success

如果开启了selinux,需要允许ftp访问

[root@csg ~]# setsebool -P ftpd_full_access on

访问ftp/sftp服务器

配置完成后,我们就可以使用ftp客户端来访问部署好的ftp服务器了,我们以fileZilla客户端为例,使用ftpuser1这个用户登陆ftp服务器,并尝试上传一个f文件到ftp服务器:

image

图: 登陆并上传文件到ftp server

上传成功后,登陆到OSS控制台,到云存储网关配置共享的bucket对应的目录下查看,可以查看到刚刚上传的文件,实现了通过FTP客户端向OSS上传的功能:

2C8457A0_20EF_4A77_8597_B02108CA6E12

图:在OSS控制台访问ftp client新上传的文件

同样,在文件网关打开极速同步或反向同步功能后,文件网关也可以反向同步OSS上的数据更新,让FTP的客户端获取到OSS上新上传的文件列表,下载OSS中新上传的文件。

注意事项

有些用户会使用Linux中默认的SFTP服务作为SFTP服务端,当使用WinSCP或其它支持断点续传的SFTP客户端上传到服务器上的云存储网关NFS共享目录时,上传大于100K会遇到文件失败的错误:
image

这是由于WinSCP 在断点续传模式下,会首先生成上传文件.filepart的文件,上传完成后再重命名回真正的目的文件导致上传失败。这种情况下,用户可以通过关闭WinSCP的断点续传选项(选项-传输-Endurance-开启断点续传/传输到临时文件名-禁用)来规避该问题:

image

总结

通过基于云存储网关的NFS共享搭建FTP服务器,可以让用户使用ftp访问OSS中的数据,实现用FTP客户端上传数据到OSS和下载OSS中的数据的功能,让文件共享与分发更加的方便。

相关实践学习
1分钟 Serverless搭建高性能网盘
本场景将使用阿里云函数计算、文件存储NAS以及开源项目Kodbox,带大家1分钟Serverless搭建个人高性能网盘,网盘可长期使用。
目录
相关文章
|
5天前
|
存储 算法 数据挖掘
服务器数据恢复—昆腾存储StorNext文件系统数据恢复案例
服务器数据恢复环境: 昆腾某型号存储,8个存放数据的存储柜+1个存放元数据的存储柜。 元数据存储:8组RAID1阵列+1组RAID10阵列+4个全局热备硬盘。 数据存储:32组RAID5阵列,划分2个存储系统。 服务器故障: 数据存储的1个存储系统中的一组RAID5阵列中有2块硬盘先后出现故障离线,导致该RAID5阵列失效,整个存储系统崩溃不可用。
服务器数据恢复—昆腾存储StorNext文件系统数据恢复案例
|
1月前
|
存储 安全 数据安全/隐私保护
oss服务器端加密
阿里云OSS提供服务器端加密,使用AES-256自动加密数据,保证上传至OSS的数据安全。下载时自动解密,透明处理。加密增强静态数据安全性,满足合规需求。支持OSS或KMS管理密钥,实现细粒度权限控制。确保云端对象数据全生命周期安全。
33 7
|
1月前
|
存储 安全 API
oss服务器端加密(Server-Side Encryption Configuration)
阿里云OSS提供服务器端加密(SSE),确保静态数据安全。支持SSE-KMS,使用KMS托管CMK加密。数据上传时自动加密,下载时自动解密。用户可设置Bucket默认加密或在上传时指定加密选项。适用于高度保护数据场景,如敏感个人信息和企业关键信息。兼容多种部署形态,特定特性地域可用。此功能简化了加密处理,增强了云端数据安全性。
31 1
|
1月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
164 0
|
1月前
|
存储 机器学习/深度学习 弹性计算
ecs实例规格存储和I/O需求
阿里云ECS提供多种实例类型满足不同需求:通用型适合中小型应用;计算型强调CPU性能,适合大数据分析;存储型针对高I/O场景,如数据库;内存型适合内存敏感应用;GPU型用于GPU加速任务;异构计算型包含FPGA、ASIC。实例搭配不同性能的云盘(如ESSD)以调整IOPS和吞吐量。选择实例时,需综合考虑应用对计算、内存和存储I/O的需求。
15 1
|
1月前
|
弹性计算 缓存 测试技术
阿里云ECS云服务器2核4G能支持多少人同时访问?2核4G5M并发量评测
阿里云ECS云服务器2核4G能支持多少人同时访问?2核4G5M并发量评测,2核4G服务器并发数性能测试,阿小云账号下的2核4G服务器支持20人同时在线访问,然而应用不同、类型不同、程序效率不同实际并发数也不同,2核4G服务器的在线访问人数取决于多个变量因素
|
3天前
|
域名解析 网络协议 安全
服务器部署访问出错的原因和解决办法
部署到服务器后无法访问可能是由于配置错误、权限问题或网络设置不当。解决办法包括检查服务器配置文件、确保文件路径正确、调整权限设置以及检查防火墙和端口设置。
13 4
|
10天前
|
存储 安全 API
对象存储OSS产品常见问题之附件上传后存储存在被窃取的风险如何解决
对象存储OSS是基于互联网的数据存储服务模式,让用户可以安全、可靠地存储大量非结构化数据,如图片、音频、视频、文档等任意类型文件,并通过简单的基于HTTP/HTTPS协议的RESTful API接口进行访问和管理。本帖梳理了用户在实际使用中可能遇到的各种常见问题,涵盖了基础操作、性能优化、安全设置、费用管理、数据备份与恢复、跨区域同步、API接口调用等多个方面。
18 0
|
11天前
|
安全 Java 网络安全
对象存储oss使用问题之使用oss上服务器后显示服务异常如何解决
《对象存储OSS操作报错合集》精选了用户在使用阿里云对象存储服务(OSS)过程中出现的各种常见及疑难报错情况,包括但不限于权限问题、上传下载异常、Bucket配置错误、网络连接问题、跨域资源共享(CORS)设定错误、数据一致性问题以及API调用失败等场景。为用户降低故障排查时间,确保OSS服务的稳定运行与高效利用。
15 0
|
1月前
|
存储 安全 数据安全/隐私保护
oss数据加密与存储
阿里云OSS提供多种数据加密(SSE-S3, SSE-KMS, SSE-C, CSE-KMS)与存储安全措施,包括服务器和客户端加密、数据在磁盘上加密存储、多重冗余备份、访问控制列表和HTTPS安全传输。KMS支持密钥管理,确保数据静态和传输时的安全。严格的访问策略和身份验证保护资源免受未授权访问,满足高安全性和合规性需求。
43 3

相关产品

  • 云存储网关
  • 对象存储