Ubuntu与vsftp的连接问题解决
导读:Ubuntu 与 vsftpd 连接问题排查与修复 一 快速自检清单 确认服务已运行:sudo systemctl status vsftpd,若未运行执行:sudo systemctl start vsftpd && s...
Ubuntu 与 vsftpd 连接问题排查与修复
一 快速自检清单
- 确认服务已运行:
sudo systemctl status vsftpd,若未运行执行:sudo systemctl start vsftpd & & sudo systemctl enable vsftpd。 - 核对监听与基础配置
/etc/vsftpd.conf:确保启用监听(listen=YES)、允许本地登录(local_enable=YES)、允许写入(write_enable=YES)、按需限制主目录(chroot_local_user=YES)。修改后重启:sudo systemctl restart vsftpd。 - 放行防火墙:FTP 控制端口 21/TCP,数据端口 20/TCP(主动模式),被动模式端口段(如 40000:50000/TCP),以及显式 TLS 端口 990/TCP(若启用)。示例:
sudo ufw allow 21/tcp、sudo ufw allow 20/tcp、sudo ufw allow 40000:50000/tcp、sudo ufw allow 990/tcp、sudo ufw reload。 - 客户端要点:使用正确的主机、端口、用户名与密码;若服务器启用被动模式,客户端需开启被动;若启用 TLS,需选择“FTP over TLS/显式 FTP over TLS”。
二 常见症状与对应处理
- 连接超时或“无法建立数据连接”:优先检查云厂商/机房安全组与系统防火墙是否放行 21/TCP 与被动端口段;确认服务在监听;客户端切换到被动模式再试。
- 530 Login incorrect:核对用户名/密码;检查是否被禁止登录(如
/etc/ftpusers黑名单);必要时查看认证日志/var/log/auth.log。 - 无法上传或创建目录:确认
write_enable=YES;检查目标目录属主与权限(如chown ftpuser:ftpuser /path、chmod 755 /path);确保磁盘未满。 - 被动模式卡在 “Entering Passive Mode”:在服务器配置
pasv_address=< 服务器公网IP>与pasv_min_port/pasv_max_port(如 40000:50000),并在防火墙放行该端口段;客户端开启被动。 - TLS/SSL 握手失败:启用
ssl_enable=YES,证书路径正确(rsa_cert_file、rsa_private_key_file),必要时开放 990/TCP;客户端选择“显式 FTP over TLS”。
三 关键配置示例
- 基本本地用户登录与上传
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
- 启用被动模式(云服务器公网环境)
pasv_enable=YES
pasv_address=<
你的公网IP>
pasv_min_port=40000
pasv_max_port=50000
- 启用显式 TLS(FTPES)
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
修改后执行:sudo systemctl restart vsftpd,并放行相应端口。
四 日志定位与权限修复
- 查看日志:
- 认证与登录问题:
sudo tail -f /var/log/auth.log - vsftpd 自身日志:
sudo tail -f /var/log/vsftpd.log(若配置了xferlog_file,也检查该文件)
- 认证与登录问题:
- 用户与目录权限:
- 创建专用用户:
sudo adduser ftpuser - 设定目录属主与权限:
sudo chown ftpuser:ftpuser /home/ftpuser、sudo chmod 755 /home/ftpuser - 上传目录可写:
sudo mkdir -p /home/ftpuser/upload & & sudo chown ftpuser:ftpuser /home/ftpuser/upload & & sudo chmod 755 /home/ftpuser/upload
- 创建专用用户:
- 被拒绝登录的快速排查:检查
/etc/ftpusers是否包含该用户;必要时在/etc/vsftpd.user_list中按userlist_enable/userlist_deny的策略进行放行或封禁。
五 网络与安全组要点
- 云服务器需同时放行:安全组与系统防火墙的 21/TCP(控制)、20/TCP(主动数据)、被动端口段(如 40000:50000/TCP)、以及 990/TCP(若启用 TLS)。
- 客户端与服务器模式匹配:服务器启用被动则客户端开启被动;服务器启用 TLS 则客户端选择“显式 FTP over TLS”。
- 若使用 SFTP(基于 SSH),那是 22/TCP 与 vsftpd 无关,请改用 SFTP 客户端或调整服务类型。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu与vsftp的连接问题解决
本文地址: https://pptw.com/jishu/784138.html
