在 Debian 上使用的 vsftpd(Very Secure FTP Daemon),默认端口是 21,但是可以改,而且改端口是很常见的做法(比如为了躲扫描、配合防火墙等)。
下面给你说清楚:要不要改 + 怎么改。
21(FTP 命令端口)✅ 建议改的情况
❌ 不建议改的情况
⚠️ 注意:
改端口 ≠ 更安全,只是减少“噪音扫描”。
sudo nano /etc/vsftpd.conf
listen_port=2121
(举例:改成 2121)
如果你用 IPv6:
listen_ipv6=YES
# 端口同样生效
如果开被动模式(推荐):
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
sudo ufw allow 2121/tcp
sudo ufw allow 30000:31000/tcp
iptables -A INPUT -p tcp --dport 2121 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
sudo systemctl restart vsftpd
查看是否监听新端口:
sudo ss -tlnp | grep vsftpd
ftp ip 2121
2121❌ 只改 21,不改 pasv → 能连不能传文件
❌ 防火墙没开 pasv 端口
❌ SELinux(Debian 一般没开,但容器环境要注意)
如果你愿意,可以告诉我:
我可以直接帮你写一份 可用的 vsftpd.conf。