0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在云服务器上搭建FTP服务进行文件传输?

深圳市恒讯科技有限公司 来源:深圳市恒讯科技有限公司 作者:深圳市恒讯科技有 2025-11-10 16:43 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

FTP(文件传输协议)是一种在本地计算机与云服务器之间进行文件上传下载的经典方法。无论您是更新网站内容、备份数据还是共享文件,搭建一个私有的FTP服务都非常实用。对于很多网站管理员和开发者而言,通过一个工具(如FileZilla)直接与服务器进行文件交互,是日常工作中重要的一环。而在云服务器上搭建FTP服务,正是为了满足这一需求。我们以最主流、最安全的vsftpd(Very Secure FTP Daemon)为例,在Linux系统上完成部署。
第一部分:准备工作与环境确认
拥有一台云服务器:确保您已拥有一台运行中的Linux云服务器(如CentOS或Ubuntu)。
获取服务器登录权限:使用SSH工具(如Terminal, PuTTY)以root用户或具有sudo权限的用户登录您的服务器。
如果您尚未拥有服务器,恒讯科技提供的多种配置的Linux云服务器,是搭建FTP服务的稳定且高性价比的选择。
第二部分:安装与配置vsftpd
步骤一:安装vsftpd软件
首先,我们通过系统包管理器安装vsftpd。
对于CentOS/RHEL/Alibaba Cloud Linux系统:
bash
sudo yum update -y
sudo yum install -y vsftpd
对于Ubuntu/Debian系统:
bash
sudo apt update
sudo apt install -y vsftpd
安装完成后,启动vsftpd服务并设置为开机自启:
bash
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
步骤二:配置vsftpd主配置文件
vsftpd的核心配置文件是 /etc/vsftpd/vsftpd.conf。在修改前,建议先备份:
bash
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
然后使用vim或nano编辑该文件:
bash
sudo vim /etc/vsftpd/vsftpd.conf
找到并修改以下关键参数,确保它们与下文一致:
bash
# 允许本地用户登录
local_enable=YES
# 允许用户上传文件
write_enable=YES
# 设置本地用户的掩码,决定上传文件的默认权限(022表示755)
local_umask=022
# 启用被动模式(PASV),这对云服务器至关重要
pasv_enable=YES
# 设置被动模式使用的最小和最大端口范围,方便后续防火墙配置
pasv_min_port=30000
pasv_max_port=31000
# 重要!这里需要填写你的云服务器公网IP地址,否则客户端可能无法连接。
# 请将 `your_server_public_ip` 替换为您云服务器的实际公网IP。
pasv_address=your_server_public_ip
# 禁止匿名用户登录,提升安全性
anonymous_enable=NO
步骤三:配置FTP用户
出于安全考虑,不建议直接使用root用户。我们创建一个专用的FTP用户。
创建用户(例如,创建一个名为 ftpuser 的用户):
bash
sudo useradd -d /home/ftpuser -s /bin/bash ftpuser
sudo passwd ftpuser # 随后会提示你设置该用户的密码
设置用户目录权限:
bash
sudo chown -R ftpuser:ftpuser /home/ftpuser
第三部分:核心步骤——配置云服务器安全组与防火墙
这是最关键且最容易出错的一步!云服务器的外围有一道“虚拟防火墙”(安全组),必须放行相应端口,外部客户端才能连接。
需要放行以下两类端口
FTP命令端口:21端口,用于建立控制连接。
FTP被动模式数据端口:我们在配置文件中设置的 30000-31000 端口范围,用于传输数据。
规则1:授权策略 允许,协议类型 FTP(21),源地址 0.0.0.0/0(如需限制IP,可填写您的本地公网IP)。
规则2:授权策略 允许,协议类型 自定义TCP,端口范围 30000/31000,源地址 0.0.0.0/0。
同时,如果您的云服务器系统内部启用了防火墙(如firewalld或ufw),也需要相应放行这些端口。
对于firewalld(CentOS常见):
bash
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload
对于ufw(Ubuntu常见):
bash
sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp
sudo ufw reload
第四部分:重启服务与客户端测试
完成所有配置后,重启vsftpd服务以使配置生效:
bash
sudo systemctl restart vsftpd
现在,您可以在本地计算机上使用FTP客户端(如 FileZilla、WinSCP)进行测试了。
连接信息:
主机/Host: 您的云服务器公网IP地址
协议/Protocol: FTP
加密/Encryption: 使用明文FTP(不建议传输敏感数据)或尝试显式FTP over TLS(如果配置了SSL)
用户名/User: ftpuser
密码/Password: 您为 ftpuser 设置的密码
端口/Port: 21
连接成功后,您就可以在本地和云服务器的 /home/ftpuser 目录之间自由拖拽文件了。
第五部分:安全增强建议(可选但重要)
使用SFTP替代FTP:考虑到FTP协议本身不加密,对于敏感数据传输,更推荐直接使用SSH File Transfer Protocol (SFTP),它基于SSH,无需额外安装和配置。
为FTP添加TLS加密:可以通过为vsftpd配置SSL证书,启用FTPS,对传输过程进行加密。
限制用户访问目录:通过配置 chroot_local_user=YES,可以将FTP用户锁定在其家目录内,防止其访问系统其他文件。
总结
通过以上步骤,您已经在云服务器上成功搭建了一个功能完整、配置安全的FTP服务。整个过程清晰地展示了从软件安装、服务配置到云平台安全策略联动的完整闭环。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FTP
    FTP
    +关注

    关注

    0

    文章

    118

    浏览量

    42330
  • 云服务器
    +关注

    关注

    0

    文章

    840

    浏览量

    14744
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    EtherCAT FOE工作原理揭秘:客户端-服务器模型如何运转?

    上期我们聊了EtherCATFOE的五大应用场景,本期深入解析其底层工作机制。FOE究竟是如何实现文件传输的?答案藏在客户端-服务器模型中。核心架构:一客户端多服务器在EtherCAT网络中,FOE
    的头像 发表于 03-02 11:50 208次阅读
    EtherCAT FOE工作原理揭秘:客户端-<b class='flag-5'>服务器</b>模型如何运转?

    零基础如何用服务器搭建网站?完整教程

    提供协助,帮助快速落地。 第一步:理解主要概念  在动手前,先了解几个名词:服务器是租用的虚拟主机资源;域名是用户访问网站的地址;DNS解析把域名指向服务器IP;Web
    的头像 发表于 01-29 16:18 578次阅读

    Node-RED+Modbus_slave:JSON数据采集与阿里服务器上传

    MYSQL数据库中。在参照本文档进行操作时,请先参照附录1和附录3搭建所需实验环境。 1.2注意事项 本文档不单单适用于阿里TCP服务器,也适用于其他TCP
    的头像 发表于 01-05 17:37 922次阅读
    Node-RED+Modbus_slave:JSON数据采集与阿里<b class='flag-5'>云</b><b class='flag-5'>服务器</b>上传

    什么是企业服务器-计算

    企业服务器是指为企业提供的基于计算技术的服务器解决方案。华纳是一家计算
    的头像 发表于 12-29 17:57 1060次阅读

    20个常用服务端口及对应服务信息

    (1) 端口号:21 服务名称:FTP 服务描述:文件传输协议,用于在客户端和服务器之间传输
    发表于 12-03 06:07

    服务器端口怎么开放?

    搭建服务器,想部署网站、运行应用或开启远程连接,却发现外网始终无法访问?大概率是端口没开放。端口就像服务器的门窗,默认状态下,
    的头像 发表于 11-11 15:43 1113次阅读

    飞凌嵌入式ElfBoard-常用的网络服务搭建之TFTP服务搭建

    File Transfer Protocol,简单文件传输协议),是TCP/IP协议族中用来在客户机和服务器之间进行简单文件传输的协议,开销很小。TFTP通常用于内核调试。在嵌入式L
    发表于 10-21 11:29

    Air780EPM开发板FTP功能实战:LuatOS嵌入式开发全解析

    服务器,其二为 FTP 客户端. FTP 服务器 FTP 服务器(File Transfer
    的头像 发表于 09-29 15:37 630次阅读
    Air780EPM开发板<b class='flag-5'>FTP</b>功能实战:LuatOS嵌入式开发全解析

    华纳服务器Linux系统日志集中化管理平台搭建

    计算时代,企业运维团队面临服务器数量激增带来的日志管理难题。本文详细解析如何基于Linux系统构建高效的服务器日志集中化管理平台,涵盖日志采集、
    的头像 发表于 09-12 14:11 588次阅读

    第十九章 W55MH32 FTP_Client示例

    本文讲解了如何在 W55MH32 芯片实现 FTP 协议的客户端模式,通过实战例程展示了使用该客户端模式访问 FTP 服务器并下载
    的头像 发表于 07-24 13:39 1183次阅读
    第十九章 W55MH32 <b class='flag-5'>FTP</b>_Client示例

    第十八章 W55MH32 FTP_Server示例

    本文讲解了如何在 W55MH32 芯片实现 FTP 协议的服务器模式,通过实战例程展示了使用 W55MH32 作为 FTP 
    的头像 发表于 07-24 11:55 947次阅读
    第十八章 W55MH32 <b class='flag-5'>FTP</b>_Server示例

    恒讯科技分析:储存服务器搭建教程

    搭建存储服务器是一个相对复杂但极具实用性的项目,以下是一个简化的搭建教程,帮助你快速入门。 一、明确需求 在搭建
    的头像 发表于 07-07 11:07 1465次阅读

    硅谷GPU服务器是什么意思?使用指南详解

    硅谷GPU服务器本质是一种IaaS(基础设施即服务)产品,它将物理服务器的GPU资源通过虚
    的头像 发表于 06-16 09:41 726次阅读

    服务器和独立服务器的区别在哪?一文读懂如何选择

    面对服务器与独立服务器的选择,许多人常因概念模糊而纠结。服务器和独立服务器的区别在于资源分配
    的头像 发表于 05-19 10:19 811次阅读

    何在Linux中配置DNS服务器

    本文详细介绍了如何在Linux中配置DNS服务器,包括DNS工作原理、本地缓存、DNS查询过程,以及正向和反向查询的配置。步骤包括服务器配置、编辑BIND配置文件、添加解析信息和客户端
    的头像 发表于 05-09 13:38 2779次阅读
    如<b class='flag-5'>何在</b>Linux中配置DNS<b class='flag-5'>服务器</b>