Linux vsftp与FileZilla:如何进行文件传输
导读:Linux 下用 vsftpd 与 FileZilla 进行文件传输 一 角色与协议选择 vsftpd(Very Secure FTP Daemon) 是运行在 Linux 上的 FTP 服务器,负责提供文件上传下载服务。 FileZil...
Linux 下用 vsftpd 与 FileZilla 进行文件传输
一 角色与协议选择
- vsftpd(Very Secure FTP Daemon) 是运行在 Linux 上的 FTP 服务器,负责提供文件上传下载服务。
- FileZilla 是跨平台的 FTP/FTPS/SFTP 客户端,用于连接服务器并进行传输。
- 传输协议要点:
- FTP 使用两条连接:控制连接(默认端口 21/TCP)与数据连接(主动模式服务器从 20/TCP 主动连客户端;被动模式由服务器开放高位端口等待客户端连入)。
- SFTP 基于 SSH,默认端口 22/TCP,加密传输、配置更简单。
- 在安全或跨公网环境,优先使用 SFTP 或 FTPS(FTP over SSL/TLS)。
二 快速上手流程
- 场景A(推荐):用 SFTP + vsftpd 账号体系(系统用户)
- 在 Linux 上创建系统用户(示例:ftpuser)
- 命令:
sudo useradd -m -s /bin/bash ftpuser & & sudo passwd ftpuser
- 命令:
- 启动 vsftpd(若已安装)
- 命令:
sudo systemctl start vsftpd & & sudo systemctl enable vsftpd
- 命令:
- 在 FileZilla 站点管理器 新建站点:
- 协议选 SFTP - SSH File Transfer Protocol;主机填服务器 IP;端口 22;登录类型“正常”;输入 ftpuser 与密码;连接后即可拖拽上传/下载。
- 在 Linux 上创建系统用户(示例:ftpuser)
- 场景B:用 FTP + vsftpd(系统用户)
- 安装与基础配置(示例为 CentOS 系)
- 安装:
sudo yum install -y vsftpd - 编辑:
sudo vim /etc/vsftpd/vsftpd.conf- 建议:
anonymous_enable=NO、local_enable=YES、write_enable=YES、chroot_local_user=YES、allow_writeable_chroot=YES
- 建议:
- 启动:
sudo systemctl start vsftpd & & sudo systemctl enable vsftpd
- 安装:
- 防火墙放行 21/TCP(主动模式)
- 命令:
sudo firewall-cmd --permanent --add-port=21/tcp & & sudo firewall-cmd --reload
- 命令:
- FileZilla 站点管理器:协议选 FTP - File Transfer Protocol;端口 21;输入用户名与密码连接。
- 若客户端在 NAT/云环境,优先在 vsftpd 启用被动模式(配置
pasv_enable=YES及pasv_min_port/pasv_max_port并在防火墙放行对应端口段)。
- 安装与基础配置(示例为 CentOS 系)
三 常见传输场景与配置要点
- 本地用户家目录隔离与禁锢
- 配置:
chroot_local_user=YES、allow_writeable_chroot=YES(允许被禁锢目录可写);如需白名单/黑名单,可用userlist_enable=YES与userlist_deny=NO/YES组合。
- 配置:
- 匿名访问(仅在内网/测试环境建议)
- 配置:
anonymous_enable=YES,并确保目标目录(如 /var/ftp/pub)具备写权限(如chmod 777 /var/ftp/pub),再按需开启anon_upload_enable、anon_mkdir_write_enable等。
- 配置:
- 大文件与限速
- 调整速率限制:
local_max_rate=0(0 为不限制)、anon_max_rate=0、max_per_ip=0;修改后重启 vsftpd。
- 调整速率限制:
- 传输模式
- 传输 压缩包/二进制文件 时,在客户端选择 二进制模式,避免解压损坏。
四 故障排查与安全建议
- 连接失败排查
- 确认服务已启动(
systemctl status vsftpd)、端口与协议匹配(FTP 用 21,SFTP 用 22)、用户名与密码正确;查看 /var/log/vsftpd/vsftpd.log 获取细节。
- 确认服务已启动(
- 被动模式与防火墙
- 若使用 FTP 被动模式,需在服务器开放一段高位端口范围(如
pasv_min_port=50000、pasv_max_port=51000),并在防火墙放行该范围;云服务器还需在 安全组 同步放行。
- 若使用 FTP 被动模式,需在服务器开放一段高位端口范围(如
- 安全建议
- 公网/敏感数据优先 SFTP 或 FTPS;FTP 明文凭据与数据易被窃听。
- 禁用匿名上传;必要时限制用户可写范围与速率;定期更新系统与组件。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux vsftp与FileZilla:如何进行文件传输
本文地址: https://pptw.com/jishu/788708.html
