< 返回新闻公共列表

云服务器怎么搭建ftp服务器

发布时间:2025-09-28 14:50:03

FTP(文件传输协议)是一种用于在网络上进行文件传输的标准协议。尽管现在有更多现代替代方案(如SFTP),但FTP因其简单、兼容性广,在很多场景下,如网站后台文件管理、企业内部文件共享等,依然非常实用。

本文将手把手教您如何在Linux系统的云服务器上,使用最流行的 vsftpd(Very Secure FTP Daemon)软件来搭建一个安全可靠的FTP服务器。我们将以恒讯科技的云服务器为例,但步骤适用于任何品牌的云服务器。

第一步:准备工作

在开始之前,请确保您拥有:

一台云服务器:您需要一台已安装Linux操作系统(如CentOS、Ubuntu)的云服务器。例如,您可以从恒讯科技官网购买一台入门级云服务器,通常选择CentOS 7.x或Ubuntu 20.04 LTS等稳定版本。

SSH登录权限:您能够使用SSH密钥或密码远程登录到您的服务器。

云平台安全组配置权限:这是关键一步!云服务器通常通过“安全组”来充当防火墙。您需要登录到恒讯科技的管理控制台,找到您云服务器的安全组规则。

第二步:安装vsftpd软件

使用SSH客户端(如PuTTY、Terminal)连接到您的云服务器。

对于CentOS/RHEL系统:

bash

# 更新yum包管理器

sudo yum update -y

# 安装vsftpd

sudo yum install vsftpd -y

对于Ubuntu/Debian系统:

bash

# 更新apt包管理器

sudo apt-get update

# 安装vsftpd

sudo apt-get install vsftpd -y

安装完成后,启动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.bak

然后使用文本编辑器(如vim或nano)编辑配置文件:

bash

sudo vim /etc/vsftpd/vsftpd.conf

找到并修改以下关键参数,如果行首有#注释,请将其删除:

ini

# 禁止匿名用户登录(提高安全性)

anonymous_enable=NO

# 允许本地系统用户登录

local_enable=YES

# 允许用户有写权限(上传、删除文件)

write_enable=YES

# 设置本地用户创建文件的默认权限

local_umask=022

# 禁止用户离开其主目录(将其禁锢在自己的目录中,非常重要!)

chroot_local_user=YES

allow_writeable_chroot=YES

# 被动模式配置(PASV),这对云服务器至关重要!

# 请将下面的 [您的云服务器公网IP] 替换为您云服务器的实际公网IP地址

pasv_enable=YES

pasv_min_port=30000

pasv_max_port=31000

pasv_address=[您的云服务器公网IP]  # 例如 pasv_address=123.123.123.123

被动模式(PASV)解释:由于FTP客户端与服务器之间存在防火墙(云安全组),主动模式常常会失败。被动模式要求服务器开放一个端口范围供客户端连接,配置此项是成功连接的关键。

保存并退出编辑器。

第四步:配置云服务器安全组(防火墙)

这是让外网能够访问到您FTP服务的关键。登录到恒讯科技的管理控制台:

找到您的云服务器实例。

进入其关联的安全组规则配置页面。

确保已开放以下端口:

端口21(FTP命令端口):这是必须的。

端口30000-31000(FTP被动模式端口范围):这个范围必须与配置文件中 pasv_min_port 和 pasv_max_port 一致。

在恒讯科技的安全组规则中,添加入站规则如下:

协议:TCP,端口:21,源:0.0.0.0/0(或您指定的IP段以增强安全)

协议:TCP,端口:30000-31000,源:0.0.0.0/0(或您指定的IP段)

第五步:创建FTP专用用户(推荐)

出于安全考虑,不建议直接使用root用户进行FTP登录。我们创建一个新用户,例如 ftpuser。

bash

# 创建用户,并指定其主目录,例如 /home/ftpuser

sudo useradd -d /home/ftpuser -m ftpuser

# 为该用户设置密码

sudo passwd ftpuser

系统会提示您输入两次新密码,请牢记这个密码,它将用于FTP登录。

默认情况下,由于我们开启了 chroot_local_user=YES,该用户将被限制在自己的 /home/ftpuser 目录下,无法访问系统的其他部分。

第六步:重启vsftpd服务并测试

让所有配置生效:

bash

sudo systemctl restart vsftpd

现在,您可以使用FTP客户端(如FileZilla、WinSCP)进行测试了。

主机/地址:您的云服务器公网IP

用户名:ftpuser

密码:您设置的密码

端口:21

在FileZilla中,建议将“传输模式”设置为“被动(PASV)”。

 

常见问题与进阶设置(恒讯科技温馨提示)

连接失败? 首先检查安全组规则是否已正确配置,并确保 pasv_address 填写了正确的公网IP。

权限错误? 确保FTP用户对其主目录有读写权限(chmod 755 /home/ftpuser)。

更安全的选择:SFTP 如果您仅需要通过SSH管理文件,实际上无需搭建FTP。因为SSH服务器默认就提供了SFTP功能,它更安全(加密传输),且无需额外配置防火墙规则。您可以直接使用SSH用户凭据通过FileZilla等客户端连接(协议选择SFTP)。

SSL/TLS加密:对于更高安全要求,可以考虑配置vsftpd使用FTPS,对传输过程进行加密。

 

通过以上六个步骤,您已经在恒讯科技的云服务器上成功搭建了一个安全可用的FTP服务器。整个过程的核心在于:

正确安装和配置vsftpd,特别是被动模式参数。

在云平台安全组中开放正确的端口范围。

希望这篇教程能帮助您轻松实现文件传输的需求。恒讯科技的云服务器性能稳定、网络优质,为这类应用的稳定运行提供了坚实的基础。如果您在操作中遇到任何问题,可以随时参考恒讯科技官方文档或联系技术支持获取帮助。



/template/Home/Zkeys724/PC/Static