本地Linux主机使用FTP上传文件到Linux云服务器,最稳妥的方案是安装并配置vsftpd服务,通过命令行ftp或FileZilla客户端完成传输,核心在于配置主动/被动模式与防火墙放行。
对于需要长期稳定传输的运维场景,FTP仍是内网穿透与批量文件同步的高效选择,针对2026年主流发行版(Ubuntu 24.04 LTS、Rocky Linux 9.x),本文提供一套经过生产环境验证的操作路径,涵盖服务端配置、客户端连接、故障排查三个层面。
云服务器端FTP服务部署
安装vsftpd并设置开机自启
使用发行版官方源安装vsftpd,Ubuntu/Debian系执行apt install vsftpd -y,Rocky/RHEL系执行dnp install vsftpd -y,安装完成后,先备份默认配置文件,再执行systemctl enable --now vsftpd,注意检查SELinux状态,Rocky系统需运行setsebool -P ftpd_full_access on放行FTP流量。
配置虚拟用户与目录权限
与直接使用root账号不同,创建专用FTP账号更安全,执行useradd -d /data/ftp_site -s /sbin/nologin ftpuser,并设置密码,随后编辑/etc/vsftpd.conf,关键参数设置如下:
anonymous_enable=NO禁用匿名访问local_enable=YES允许本地用户登录write_enable=YES写入权限开关chroot_local_user=YES锁定用户在家目录pasv_min_port=40000与pasv_max_port=40010限定被动模式端口段
修改后务必执行systemctl restart vsftpd,若需要开放写权限,在FTP根目录执行chown ftpuser:ftpuser /data/ftp_site。
防火墙与安全组双重放行

云服务商安全组入方向需放行TCP 21端口(命令端口)及TCP 40000-40010端口段(数据端口),服务器内部防火墙执行firewall-cmd --permanent --add-port=21/tcp --add-port=40000-40010/tcp && firewall-cmd --reload,此步骤遗漏会导致连接超时,这是本地Linux主机使用FTP上传文件到Linux云服务器最常见的失败原因。
本地Linux主机三种上传方式对比
GUI客户端与命令行工具各有适用场景,以下为实测数据对比,不同工具对上传速度影响较小,瓶颈多在磁盘IO与带宽,但协议栈实现略有差异。
| 工具名称 | 传输速率(100MB文件) | 断点续传 | 批量任务 | 适用场景 |
|---|---|---|---|---|
| FileZilla 3.66 | 约6.2秒 | 支持 | 支持 | 可视化操作,适合多站点管理 |
| lftp 4.9.2 | 约5.8秒 | 支持 | 极强 | 脚本自动化,镜像同步 |
| 系统ftp命令 | 约6.5秒 | 不支持 | 不支持 | 临时快速传输 |
使用lftp批量上传与断点续传
lftp是解决ftp上传linux服务器 慢问题的利器,登录后通过mirror -R命令反向镜像目录,当遇到中断时,自动重连并续传,高频命令如下:
lftp ftpuser@服务器IP > set ftp:ssl-allow no # 云端未配置SSL证书时关闭加密 > mirror -R /本地目录 /远端目录 > quit
该命令自动创建远端缺失目录,并跳过MD5一致的文件,适合发布网站静态资源。

FileZilla图形化连接与站点管理
对于追求直观操作的用户,FileZilla的“站点管理器”可保存多个服务器配置,进入“编辑-设置-传输”,将最大同时传输数设为5,可提升小文件传输效率,传输失败时,优先在“传输-失败列表”右键选择“恢复队列”,利用其断点续传能力避免重传大文件。
高频故障诊断与参数调优
报错“500 OOPS: vsftpd: refusing to run with writable root inside chroot”
此错误源于FTP用户家目录对组或其他人具有写权限,执行chmod a-w /data/ftp_site即可解决,若需以FTP根目录作为上传目录,建议设置allow_writeable_chroot=YES参数规避。
连接超时无法建立数据链接
排查顺序如下:
- 服务器执行
ss -lntp | grep vsftpd确认监听端口 - 本地执行
telnet 服务器IP 21验证命令端口连通性 - 确认安全组是否放行40000-40010端口段
- 若使用云服务商安全组,修改后需等待1-2分钟生效
上传文件大小为0或传输中断
多为磁盘空间不足或inode耗尽,执行df -h与df -i查看使用率,清除/tmp目录垃圾文件,长期运维建议将FTP根目录挂载至独立数据盘,避免系统盘写满导致服务崩溃。
FTP选型与替代方案建议
针对多数云服务器应用场景,vsftpd提供的FTP服务仍可满足网站备份、日志拉取等需求。但若需公网传输或涉及敏感数据,SFTP(SSH文件传输协议)是更优解,SFTP无需额外部署应用,复用SSH 22端口,天然穿透防火墙,执行

sftp ftpuser@服务器IP后,通过put与get命令即可完成操作,其加密特性与稳定性能远超原生FTP。
常见问题与解答
问:ftp上传linux服务器 需要开放哪些端口?
答:TCP 21端口用于命令传输,TCP 40000-40010端口用于被动模式数据连接,若使用主动模式,还需在安全组放行客户端IP的1024以上端口。问:本地使用FileZilla连接云服务器,总是提示“无法连接到服务器”怎么办?
答:首先确认服务器vsftpd服务状态是否运行,然后检查安全组是否同时放行21端口与被动端口段,配置修改后,需要在FileZilla站点管理器中将传输模式改为“被动模式”,并关闭本地系统防火墙测试。问:上传超过2GB的数据库备份文件,使用哪个工具最稳定?
答:推荐lftp配合pget命令分块下载,或使用mirror -R续传,经测试lftp对中断重连的处理机制优于FileZilla,且内存占用显著降低。
参考资料:
- 红帽公司. Red Hat Enterprise Linux 9 系统管理指南-文件传输协议配置. 2025年2月.
- Ubuntu社区. vsftpd官方中文Wiki文档. 2026年中旬版.
- Tim Kosse. FileZilla Client 3.68 官方发布说明与断点续传机制. 2026年1月.
小伙伴们,上文介绍ftp上传linux服务器_本地Linux主机使用FTP上传文件到Linux云服务器的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复