🗣 Wd提问: 云服务器开启ftp
🤖 Ai回答: 在云服务器上开启 FTP 服务,需要完成以下几个主要步骤。以下以主流的 Linux 系统(如 Ubuntu 22.04 / CentOS 8+)和 vsftpd(最常用、安全的 FTP 服务器)为例进行说明。
✅ 一、准备工作
1、登录云服务器
通过 SSH 登录你的云服务器(如阿里云、腾讯云、AWS 等):
bash
ssh username@your-server-ip
2、更新系统包(推荐)
bash
Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
CentOS/RHEL
sudo yum update -y
或使用 dnf(CentOS 8+)
sudo dnf update -y
✅ 二、安装 vsftpd
Ubuntu/Debian:
bash
sudo apt install vsftpd -y
CentOS/RHEL:
bash
sudo yum install vsftpd -y
或
sudo dnf install vsftpd -y
安装完成后,检查服务状态:
bash
systemctl status vsftpd
如果没有运行,启动并设置开机自启:
bash
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
✅ 三、配置 vsftpd
1、备份原始配置文件
bash
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
2、编辑配置文件
bash
sudo nano /etc/vsftpd.conf
修改或添加以下关键配置项(推荐安全配置):
ini
禁用匿名登录(安全建议)
anonymous_enable=NO
允许本地用户登录
local_enable=YES
允许本地用户写入(上传文件)
write_enable=YES
设置用户家目录为默认目录
local_umask=022
启用 chroot 限制用户只能访问自己的家目录(安全)
chroot_local_user=YES
允许 chroot 用户写入(vsftpd 默认禁止,需开启)
allow_writeable_chroot=YES
使用被动模式(适用于云服务器防火墙/NAT)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
设置监听端口(默认21)
listen=YES
listen_ipv6=NO
其他建议配置
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
💡 说明:
`chroot_local_user=YES`:防止用户“越狱”访问系统其他目录。
`allow_writeable_chroot=YES`:解决 vsftpd 3.0+ 版本中 chroot 目录不可写的问题。
被动模式端口范围(40000-50000)用于防火墙放行。
保存并退出(Nano:`Ctrl+O` → 回车 → `Ctrl+X`)
3、重启 vsftpd 服务
bash
sudo systemctl restart vsftpd
✅ 四、配置防火墙(云服务器安全组 + 本地防火墙)
1、开放 FTP 端口(21 + 被动端口范围)
✅ 云服务商安全组设置(必须!)
登录你的云平台控制台(如阿里云、腾讯云、AWS),在 安全组规则 中添加:
| 协议类型 | 端口范围 | 授权对象 |
|
| TCP | 21 | 0.0.0.0/0(或指定IP) |
| TCP | 40000-50000 | 0.0.0.0/0(或指定IP) |
⚠️ 不要开放 21 以外的端口给公网,建议限制来源 IP。
✅ 本地防火墙(如 UFW / firewalld)
Ubuntu(使用 UFW):
bash
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw reload
CentOS(使用 firewalld):
bash
sudo firewall-cmd permanent add-port=21/tcp
sudo firewall-cmd permanent add-port=40000-50000/tcp
sudo firewall-cmd reload
✅ 五、创建 FTP 用户(推荐)
1、创建一个普通用户(不建议用 root)
bash
sudo adduser ftpuser
按提示设置密码(记住密码,用于登录 FTP)。
⚠️ 不要使用 root 用户登录 FTP,有安全风险!
2、(可选)限制用户只能登录 FTP,不能 SSH
编辑 `/etc/passwd`:
bash
sudo nano /etc/passwd
找到你创建的用户行,如:
ftpuser:x:1001:1001::/home/ftpuser:/bin/bash
改为:
ftpuser:x:1001:1001::/home/ftpuser:/usr/sbin/nologin
这样用户不能 SSH 登录,但仍然可以 FTP 登录。
✅ 六、测试 FTP 连接
方法 1:使用命令行客户端
bash
ftp your-server-ip
输入用户名和密码,测试上传/下载。
方法 2:使用图形化工具(推荐)
FileZilla(Windows/Mac/Linux)
WinSCP(Windows)
Cyberduck(Mac)
连接参数:
协议:FTP 文件传输协议
主机:你的云服务器公网 IP
端口:21
用户名:你创建的用户名
密码:你设置的密码
传输模式:被动模式(Passive)
✅ 如果连接失败,检查:
安全组是否开放 21 和 40000-50000
是否重启了 vsftpd
防火墙是否放行
用户家目录权限是否正确(应为 `755`,属主为用户)
✅ 七、(可选)启用 FTP over TLS(FTPS)加密(推荐生产环境)
1、生成 SSL 证书
bash
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.pem \
-out /etc/ssl/private/vsftpd.pem
设置权限:
bash
sudo chmod 600 /etc/ssl/private/vsftpd.pem
2、修改 vsftpd.conf 添加 SSL 配置
ini
启用 SSL
ssl_enable=YES
使用自定义证书
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
强制使用 SSL(安全)
force_local_data_ssl=YES
force_local_logins_ssl=YES
禁用 SSLv2/v3(安全)
ssl_sslv2=NO
ssl_sslv3=NO
使用高加密套件
require_ssl_reuse=NO
ssl_ciphers=HIGH
重启服务:
bash
sudo systemctl restart vsftpd
✅ 在 FileZilla 中连接时,选择 “FTPES”(FTP over explicit TLS)。
✅ 八、安全建议(非常重要!)
| 建议 | 说明 |
| ✅ 禁用匿名登录 | `anonymous_enable=NO` |
| ✅ 禁用 root 登录 | 永远不要用 root 登录 FTP |
| ✅ 使用强密码 | 避免弱密码被爆破 |
| ✅ 启用 SSL/TLS | 避免明文传输密码和文件 |
| ✅ 限制访问 IP | 安全组只允许你自己的 IP 访问 21 端口 |
| ✅ 定期日志检查 | 查看 `/var/log/vsftpd.log` |
| ✅ 考虑改用 SFTP | 更安全,基于 SSH,推荐替代方案 |
🔁 替代方案:推荐使用 SFTP(更安全)
FTP 协议本身是明文传输,不安全。建议改用 SFTP(SSH File Transfer Protocol),它基于 SSH,加密传输,无需额外配置。
无需安装 FTP 服务
使用 SSH 端口(22)即可
支持密钥认证、加密传输
云服务器默认已开启 SSH
连接方式:
在 FileZilla 中选择协议为 SFTP,主机为你的 IP,端口为 22,用户名和密码/密钥登录即可。
✅ 强烈推荐:生产环境使用 SFTP 替代 FTP!
✅ 总结:开启 FTP 步骤速查
| 步骤 | 操作 |
| 1 | 安装 vsftpd:`sudo apt install vsftpd` |
| 2 | 编辑 `/etc/vsftpd.conf`,配置 `local_enable=YES`, `write_enable=YES`, `chroot_local_user=YES`, `allow_writeable_chroot=YES`, `pasv_enable=YES`, `pasv_min_port=40000`, `pasv_max_port=50000` |
| 3 | 开放防火墙:21 + 40000-50000 端口(云安全组 + 本地防火墙) |
| 4 | 创建普通用户:`sudo adduser ftpuser` |
| 5 | 重启服务:`sudo systemctl restart vsftpd` |
| 6 | 使用 FileZilla 测试连接 |
| ✅ 推荐 | 生产环境改用 SFTP |
如果你告诉我你用的是哪种云服务器(阿里云/腾讯云/AWS)和系统(Ubuntu/CentOS),我可以提供更精确的配置命令 😊
📣 商家广告:





0
IP地址: 127.170.215.58
搜索次数: 1
提问时间: 2025-11-06 01:08:14
🛒 域名购买:
9-9.net
94.gold
xhkt.net
qn.gs
qppp.com.cn
81.biz
f.cq.cn
5.hi.cn
91.gold
zd.gs
❓️ 热门提问:
站群程序解决方案
机房清灰
如何设置vps
ddos高防机房
江西 虚拟空间
云计算相关服务有哪些
云计算技术路线
了解云计算
万网空间
我要买域名
豌豆Ai站群搜索引擎系统
🌐 域名评估:
xx.mo.cn
46.hk
322.net.cn
yourstoys.com
sea.cab
su8.bj.cn
zz.nm.cn
dji.tj.cn
8.sx.cn
3q.sc.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
霸屏优化
股票搜索
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。