大家好,我是你们的服务器管理助手,今天咱们来聊一个在服务器管理中非常实用的话题——如何开启FTP服务,FTP(File Transfer Protocol)就是文件传输协议,它允许你通过网络将文件上传到服务器,或者从服务器下载文件,无论你是网站开发者、运维人员,还是只是想远程备份文件,FTP都是一个简单高效的工具。

很多人在配置FTP服务时可能会遇到各种问题,比如不知道从哪里下手、配置文件看不懂、防火墙没开连接不上等等,别担心,今天我就用最通俗的语言,手把手教你如何在服务器上开启FTP服务,并且保证安全可靠。
什么是FTP?
在开始操作前,咱们先简单科普一下FTP:
FTP 是一种用于在网络上传输文件的标准协议,它分为两种模式:
- 主动模式:服务器主动连接客户端(一般不推荐,容易被防火墙拦截)
- 被动模式:客户端主动连接服务器(更常用,兼容性更好)
FTP虽然古老,但依然被广泛使用,因为它简单、稳定,适合大多数基础场景。
准备工作
在开始配置前,我们需要确认以下几点:
| 项目 | |
|---|---|
| 服务器操作系统 | CentOS、Ubuntu、Debian等 |
| SSH访问权限 | 必须有root或sudo权限 |
| 网络环境 | 确保服务器可以访问外网 |
| 防火墙状态 | 默认情况下防火墙是开启的 |
选择合适的FTP服务端软件
目前主流的FTP服务端软件有:
| 软件名称 | 简介 | 推荐度 |
|---|---|---|
| vsftpd | Very Secure FTP Daemon,安全性高,常用 | |
| ProFTPD | 功能丰富,配置灵活 | |
| Pure-FTPd | 轻量级,支持虚拟用户 |
这里我们以vsftpd为例进行详细讲解,因为它是最常用且安全的。
安装vsftpd
步骤1:更新系统包
# 对于CentOS sudo yum update # 对于Ubuntu/Debian sudo apt update && sudo apt upgrade
步骤2:安装vsftpd
# 对于CentOS sudo yum install vsftpd # 对于Ubuntu/Debian sudo apt install vsftpd
配置vsftpd
安装完成后,我们需要配置vsftpd,主要配置文件是/etc/vsftpd/vsftpd.conf。
修改配置文件
用你喜欢的编辑器打开配置文件:

sudo vi /etc/vsftpd/vsftpd.conf
修改以下关键参数:
# 允许本地用户登录 local_enable=YES # 允许写入操作 write_enable=YES # 设置最大连接数 max_clients_per_ip=5 # 使用被动模式(推荐) pasv_enable=YES pasv_min_port=50000 pasv_max_port=50100 # 禁止匿名访问 anonymous_enable=NO # 限制用户不能离开自己的主目录 chroot_local_user=YES allow_writeable_chroot=YES
注意:如果你不想限制用户,可以将
chroot_local_user改为NO。
创建FTP用户
如果你还没有FTP用户,可以创建一个:
sudo useradd ftpuser sudo passwd ftpuser
设置密码后,用户就可以通过FTP登录了。
启动vsftpd服务
启动服务
sudo systemctl start vsftpd
设置开机自启动
sudo systemctl enable vsftpd
检查服务状态
sudo systemctl status vsftpd
配置防火墙
如果你的服务器开启了防火墙(如firewalld或ufw),需要开放FTP端口(默认是21)。
对于CentOS(使用firewalld)
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload
对于Ubuntu(使用ufw)
sudo ufw allow 21/tcp sudo ufw reload
测试FTP连接
你可以使用客户端工具测试连接,
- FileZilla(推荐)
- WinSCP(Windows)
- 命令行工具
ftp
测试命令如下:
ftp your_server_ip
输入用户名和密码后,如果连接成功,就说明FTP服务已经开启并正常运行了。
常见问题与解答
Q1:连接FTP时提示“Connection refused”怎么办?
A:可能是防火墙没开,或者vsftpd服务没启动,可以检查防火墙状态和vsftpd服务是否运行。

Q2:如何设置SSL加密?
A:vsftpd支持SSL加密,需要安装mod_ssl模块并配置TLS加密,具体可以参考官方文档。
Q3:如何限制用户上传文件的大小?
A:可以在vsftpd.conf中添加:
max_upload_rate=1000000 # 限制上传速度为1MB/s
十一、案例:搭建一个安全的FTP服务器
假设你是一家小公司的运维人员,需要为开发团队搭建一个FTP服务器,用于上传和下载项目文件。
步骤如下:
- 安装vsftpd并配置为被动模式。
- 创建多个用户,如
dev1、dev2,并设置独立的主目录。 - 禁止匿名访问,确保只有授权用户可以登录。
- 开启SSL加密,防止文件传输被窃听。
- 设置防火墙规则,开放21和被动模式端口范围。
- 定期检查日志,确保服务稳定运行。
开启服务器上的FTP服务并不复杂,只要按照步骤一步步来,就能轻松搞定,vsftpd是一个功能强大且安全的FTP服务端软件,适合大多数场景,如果你有更高级的需求,比如虚拟用户、虚拟主机等,也可以进一步学习vsftpd的高级配置。
别忘了定期更新服务器和vsftpd软件,确保安全性,如果你在操作过程中遇到问题,欢迎随时提问,我会尽力帮你解决!
附:FTP服务端口对照表
| 功能 | 端口号 |
|---|---|
| FTP标准端口 | 21 |
| FTP数据端口(主动模式) | 20 |
| FTP数据端口(被动模式) | 50000-50100(可自定义) |
希望这篇文章能帮到你!如果觉得有用,记得点赞收藏哦!😊
相关的知识点:

