基本检查
确认 FTP 服务已启用并正在运行。运行以下命令:
systemctl status vsftpd
如果服务未运行,请启动它:
systemctl start vsftpd
防火墙设置
确保防火墙允许对 FTP 端口 21 的传入连接。使用以下命令检查:
sudo ufw status
如果没有允许,请添加规则:
sudo ufw allow 21/tcp
验证用户权限
检查用户是否有连接到 FTP 服务器的权限。运行以下命令:
ls -la /etc/passwd | grep ftp
输出中应包括类似以下内容的条目:
ftp:x:14:50:FTP User:/var/ftp/:/bin/false
确保此条目存在且用户具有适当的 shell(/bin/false)。
检查 FTP 配置
编辑 FTP 配置文件 /etc/vsftpd.conf。
查找并取消注释以下行:
anonymous_enable=NO
local_enable=YES
write_enable=YES
保存并关闭文件。
重新启动 FTP 服务
重新启动 FTP 服务以使更改生效:
sudo systemctl restart vsftpd
现在应该可以访问 FTP 服务器了。如果仍然无法连接,请检查以下其他可能的原因:
* 文件权限:确保 FTP 用户对要访问的文件和目录拥有适当的权限。
* SELinux:如果 SELinux 已启用,请确保为 FTP 访问授予适当的策略。
* 反病毒软件:某些反病毒软件可能会阻止 FTP 连接。请禁用或将 FTP 添加到例外列表中。
* 防火墙阻止:如果使用了其他防火墙(例如 iptables),请确保允许 FTP 端口。