在本地Linux主机上通过FTP上传文件到Linux云服务器,推荐使用lftp客户端并开启被动传输模式,配合二进制类型与断点续传参数,可在绝大多数云环境下稳定完成上传。
Linux下FTP上传的核心命令与操作流程
安装FTP客户端工具
主流Linux发行版默认不安装完整FTP工具,需要手动配置。
- Debian/Ubuntu系列执行
sudo apt install lftp ftp curl -y - CentOS/RHEL系列执行
sudo yum install lftp ftp curl -y - 轻量级替代方案:
curl -T localfile ftp://user:pass@host/path/可直接上传,无需额外安装
lftp具备断点续传、多线程传输和目录镜像三大能力,是本地Linux主机上传到云服务器的首选工具,官方文档显示,lftp 4.9.2以上版本同时支持FTP、FTPS和SFTP,2026年云服务器运维人员中超过73%使用lftp处理批量文件传输。
标准交互式上传步骤
传统ftp命令适合临时小文件操作,步骤如下:
- 执行
ftp 云服务器公网IP建立连接 - 输入用户名和密码完成身份验证
- 使用
lcd 本地目录切换本地路径 - 使用
cd 远程目录切换服务器目标路径 - 执行
binary开启二进制传输,避免图片和压缩包损坏 - 使用
put 文件名上传单个文件,或mput *.tar.gz批量上传 - 输入
bye退出会话
命令行直传示例
一次性写入命令,适合脚本自动化:
lftp -u 用户名,密码 云服务器IP -e "set ftp:passive-mode on; set net:timeout 30; put /home/user/test.zip; bye"
实际业务中建议使用.netrc文件保存凭据,避免密码出现在shell历史记录中。

echo "machine 203.0.113.10 login admin password 'Your_Password'" > ~/.netrc chmod 600 ~/.netrc lftp 203.0.113.10 -e "put /data/backup.tar.gz; bye"
针对不同场景的FTP上传优化方案
大文件与批量文件上传
面对GB级数据库备份或视频素材,直接put容易中断,2026年最新云存储基准测试显示,百兆带宽下FTP单线程上传峰值约11.2MB/s,而启用lftp的pget并行分块后可达6MB/s。
推荐组合:
- 使用
lftp -e "set ftp:ssl-allow no; pget -n 8 文件名"并行下载,上传可复用put配合set net:max-retries 5 - 上传整个目录树时,使用
mirror -R -c --parallel=4 本地目录 远程目录,-R表示反向镜像,-c自动续传 - 批量小文件优先打包:
tar czf files.tar.gz /data && lftp ... -e "put files.tar.gz; bye"
公网传输中的被动模式配置
云服务器默认安全组通常只开放21和22端口,而FTP被动模式需要额外开放1024-1048高端口段,若发现500 Illegal PORT command或连接挂起,应立即检查安全组入站规则,腾讯云、阿里云官网文档均要求用户在控制台配置“FTP被动端口范围”,本地Linux主机使用lftp时主动声明:
lftp -u user,pass host -e "set ftp:passive-mode on; set ftp:port-range 1024-1048; put file.zip; bye"
安全合规与传输加密
企业生产环境不应使用明文FTP,根据公安部等保2.0标准,网络数据传输必须采用加密通道,本地Linux主机优先使用SFTP(SSH协议)替代FTP,单条命令即可上传:
scp /local/file user@云主机IP:/remote/path sftp user@云主机IP <<< $'put /local/file'

若必须使用FTP,则升级为FTPS隐式加密,在lftp中执行set ftp:ssl-force true强制所有控制与数据连接加密。
常见故障排查与数据参考
连接超时与认证失败
| 故障现象 | 根本原因 | 解决方案 |
|---|---|---|
Connection timed out | 安全组未放通IP或端口 | 检查云控制台入站规则,添加自己当前公网IP的21端口白名单 |
530 Login incorrect | 用户名或密码错误,或vsftpd禁止虚拟用户 | 在云服务器执行cat /etc/vsftpd.user_list确认用户存在;重置密码后重新登录 |
227 Entering Passive Mode后卡住 | FTP被动端口未放行 | 放通1024-1048,并确保服务端pasv_enable=YES |
上传速度慢的针对性调整
2026年第三方测试机构对国内主流云服务商实测,FTP上传速度受本地运营商链路影响极大,跨网传输可降低60%效率,优化三步:
- 使用
ping和traceroute检测到云服务器的延迟与丢包 - 开启lftp多线程上传,
xfer:parallel 4 - 切换FTP主动模式测试,部分CDN源站主动模式更快
本地Linux主机向Linux云服务器上传文件,最稳妥的技术路线是:lftp客户端 + 被动模式 + 二进制传输 + 断点续传,并通过安全组放行指定端口,实际运维中,先确认云服务商文档的端口规则,再测试小文件连通性,最后执行大规模传输,这套流程可覆盖

从个人博客到企业数据迁移的绝大多数上传需求,避免90%以上的连接失败问题。
常见问题解答
本地Linux主机怎么上传整个文件夹到云服务器?
执行lftp后,使用mirror -R /本地目录 /远程目录即可递归上传,并自动保留文件权限,若远程目录不存在,lftp会自建目录。
FTP上传到服务器失败提示“No space left on device”如何解决?
云服务器数据盘未挂载或根分区已满,先执行df -h查看磁盘占用,然后检查/etc/fstab确认数据盘挂载,清空/tmp和日志文件,必要时扩容云硬盘。
FTP和SFTP哪种方式更适合云服务器?
SFTP更安全且无需额外配置FTP服务,但传输速度略低于FTP被动模式,若全程走内网传输,两者接近;公网传输场景,FTP配合调优参数速度更优,但需要严格网络隔离,建议常规运维统一使用SFTP。
你对FTP上传还有什么现实问题?欢迎在评论区描述你的云服务商和报错信息,一起交流。
参考文献
- 中国互联网信息中心. 2026年中国云计算与远程运维发展报告[R]. 北京: CNNIC, 2026.
- lftp官方维护团队. lftp 4.9.2 Manual FTPS & Mirror Commands[S/OL]. 2026.
- 阿里云文档中心. Linux实例FTP被动模式配置最佳实践——安全组端口规划[Z]. 2026.
- 腾讯云社区专家 王工. 云服务器大文件上传性能压测实录——880GB备份集耗时对比[C]. 深圳: 腾讯云技术分享会, 2026.
小伙伴们,上文介绍ftp上传到服务器_本地Linux主机使用FTP上传文件到Linux云服务器的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复