豌豆Ai站群搜索引擎系统 V.25.10.25 网址:www.wd.chat

🗣 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),我可以提供更精确的配置命令 😊

Ai作答

📣 商家广告


广告招商

香港vps

看相

.gs域名

广告招商


0

IP地址: 155.64.112.115

搜索次数: 74

提问时间: 2025-11-11 10:18:00

🛒 域名购买

❓️ 热门提问

🌐 域名评估

最新挖掘

🖌 热门作画

🤝 关于我们

🗨 加入群聊

🔗 友情链接

🧰 站长工具
📢

温馨提示

本站所有 问答 均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。

👉

技术支持

本站由 🟢 豌豆Ai 提供技术支持,使用的最新版: 豌豆Ai站群搜索引擎系统 V.25.10.25 搭建本站。

上一篇 65922 65923 65924 下一篇