如何用FTP连接Linux云服务器上传文件,ftp命令是什么

Linux本地主机连FTP服务器,一条命令的事

本地Linux主机向云服务器传文件,用FTP工具配合lftp命令行,直接在终端里就能完成上传,核心命令是lftp -u 用户名,密码 服务器IPputmirror操作。整个过程不需要额外装图形界面,在SSH终端里敲几条命令就能把文件传上去,本文把这套流程完整拆解给你。


linux 怎么用 ftp 命令上传文件到云服务器?先装客户端

大多数Linux发行版默认没装FTP客户端,不少新手上来就敲ftp,结果提示command not found,先确认系统装了哪个客户端,通常用lftp,因为它的断点续传和并发上传能力比传统ftp命令强得多。

虚拟主机FTP连接方法
加载中
虚拟主机FTP连接方法

安装命令分系:CentOS和Ubuntu不一样

Debian/Ubuntu系列执行:

  • sudo apt update
  • sudo apt install lftp -y

Red Hat/CentOS系列执行:

  • sudo yum install lftp -y

装完以后在终端里敲lftp --version,能看到版本号就说明客户端装好了,此时有个细节:云服务器的安全组规则必须放行21端口,否则后面连接会卡在登录阶段,这个排查步骤经常被本地测试的同事漏掉,就算在本地虚拟机里能连上,一旦连云服务器就报”Connection refused”,基本就是安全组没开。

交互式连接命令:拿到控制台再说话

直接用lftp登录,命令格式为:

lftp -u ftpuser 123.456.789.10

回车以后进入lftp:~>提示符,这个交互界面支持lscdgetput等常用命令,测试连接时先敲ls,能列出远程目录就说明身份认证通过了,需要上传单个文件:

  • put /home/user/app.zip(上传到当前远程目录)
  • put /home/user/app.zip -o /www/wwwroot/(指定远程存放路径)

行业共识:lftp的断点续传能力在传输大文件时表现稳定,中断重连后损失的时间几乎可以忽略。

本地linux主机远程上传文件,ftp 还是 sftp 怎么选?两者场景差异明显

这个问题我遇到很多运维新同事问过:明明有scp和sftp,为什么还要用FTP?直接说结论:两者各有适用场景,没有绝对优劣

协议对比速览:端口、加密、速度

如何用FTP连接Linux云服务器上传文件,ftp命令是什么

对比项 FTP SFTP
默认端口 21(数据端口20) 22
传输加密 明文(FTP) / TLS加密(FTPS) SSH加密
断点续传 支持(lftp配合) 支持(部分客户端)
常用场景 网站文件批量维护 敏感数据传递
客户端兼容性 所有环境均有 依赖SSH组件

SFTP走22端口,和SSH共用一个通道,这意味着只要你能SSH登录云服务器,就能直接传文件,不用额外开端口,对于安全要求高的业务,SFTP天然带有加密层。

但FTP在批量上传上有自己的硬优势:lftp的mirror命令能镜像整个目录树,配合--parallel参数并发上传多个文件,速度往往比SFTP快不少,业内专家指出,FTP在传输大量小文件时效率更高,适合静态网站部署、CDN资源推送这类场景。

日常维护选哪个?看你的业务形态

  • 网站代码更新频繁,需要单独管理ftp用户权限,用FTP
  • 传数据库备份文件、密钥文件,用SFTP更稳妥
  • 不确定自己该用哪个,优先选SFTP,因为服务器只要开了SSH就能连接,省去额外安装vsftpd的步骤

ftp上传很慢或者一直连接失败?这几个排查步骤能解决九成问题

命令没写错、账号密码正确、安全组也放行了,但还是连不上或速度极慢,下面按优先级排查。

被动模式:默认开启的关键开关

FTP有两种连接模式:主动模式(PORT)和被动模式(PASV),云服务器环境几乎都必须用被动模式,因为主动模式需要服务器主动去连你本地随机端口,这在NAT环境下基本不可行。

在lftp交互界面里输入:

set ftp:passive-mode yes
set net:timeout 10
set net:max-retries 2

把这三行配置写入~/.lftprc(没有就新建),以后每次启动lftp自动生效。

防火墙和SELinux:被低估的最大干扰源

很多云服务器安全组放行了端口,但系统防火墙还拦着,检查:

  • sudo systemctl status firewalld
  • sudo iptables -L -n查看规则

如果SELinux启用(CentOS默认),还需要:

  • 如何用FTP连接Linux云服务器上传文件,ftp命令是什么

    getsebool -a | grep ftp查看相关布尔值

  • 执行setsebool -P ftpd_full_access 1允许FTP完全访问

这两步做完,常见的”能登录但ls卡死”问题基本能消除,实际情况中,SELinux导致的数据连接超时问题和安全组放行错误几乎各占一半

上传文件没你想的简单?用脚本让这个流程自动化

掌握了基础连接后,把命令串成脚本,能省掉大量重复操作,这里给出一个简易同步脚本,适合网站代码发布场景。

完整备份+上传脚本

在本地Linux主机新建backup_upload.sh,写入:

#!/bin/bash
BACKUP_DIR="/home/user/project"
REMOTE_DIR="/www/wwwroot"
LFTPrc="set ftp:passive-mode yes"
lftp -u ftpuser,mypassword 123.456.789.10 -e "
$LFTPrc
mirror -R --parallel=5 $BACKUP_DIR $REMOTE_DIR
bye
"
chmod +x backup_upload.sh

先备份远程旧版本再用映射参数覆盖:

  • mirror -R表示反向镜像(本地上传到远程),如果本地路径文件删除不会同步删除远程旧文件,避免误删
  • --parallel=5设置5个并发连接数,传输50MB以上的目录(如框架代码、主题包)时能明显提速

这个脚本在本地Linux主机的计划任务里加上就行。执行前务必在测试目录跑一遍,脚本里没有删除逻辑时相对安全,只要路径写错顶多传错目录,不会丢数据。

使用场景区分

  • 每天定时备份服务器配置:直接在cron里写脚本跑
  • 临时传单文件:直接用lftp交互界面
  • 需要传10GB以上的大文件(如系统镜像):结合screen后台执行,或使用rsync配合rclone,但FTP场景基本止步于几个GB的量级

FTP用户权限到底怎么控制?只给该给的目录

默认vsftpd配置下,FTP用户可以浏览服务器上所有他有权限读的文件,为了安全,需要给FTP用户做目录隔离。

用vsftpd配置锁定用户目录

本地Linux主机上执行sudo apt install vsftpd后,编辑/etc/vsftpd.conf

  • 启用chroot_local_user=YES,把ftp用户锁定在自己的home目录,看不到其他路径
  • 设置local_enable=YES允许本地用户登录
  • 顺手加一行allow_writeable_chroot=YES,不锁写权限

修改完重启服务

如何用FTP连接Linux云服务器上传文件,ftp命令是什么

sudo systemctl restart vsftpd,这样登录进去后ls /看到的就是home目录的根,彻底隔离了服务器其他文件。

上传文件的归属权限问题

经常出现传到服务器上的文件nginx无法读取,原因是FTP用户和Web服务用户不同属,解决方案有两种:

  • 把FTP用户加入Web用户组:usermod -aG www-data ftpuser
  • 在vsftpd.conf中添加local_umask=022,让新文件权限为644

不处理这个问题的话,上传wordpress主题后浏览器直接白屏,检查错误日志才发现是权限不足。


说到底,FTP不是最安全的方案,但在批量维护和简单场景下,它的效率和便捷性依然难以替代,SFTP适合传敏感文件,FTP配合lftp的并发能力适合传大目录,动手配置一次vsftpd和lftp,你就能稳定获得一条本地Linux主机到云服务器的文件通道,选哪个协议,取决于现场环境里服务器怎么配置的,没有绝对正确答案。


常见问题解答

连接FTP服务器报”530 Login incorrect”怎么处理?

账号密码错误是最直接原因,查看/var/log/messages/var/log/vsftpd.log,记录中包含用户名和来源IP,如果用户名根目录被删或home目录不存在也会报这个错误,尝试创建home目录并重新设定密码:usermod -d /home/ftpuser ftpuser,还有个隐蔽情况是PAM认证模块限制了FTP访问,检查/etc/pam.d/vsftpd里pam_listfile行是否包含允许用户。

上传了一半断线,lftp怎么续传?

lftp默认没有开启断点续传,需要手动设置:set ftp:ssl-allow false后执行put -c localfile命令,-c参数表示继续传输已存在的文件部分,如果使用mirror,则不需要额外参数,lftp会自动比较本地和远程文件大小差异,只传输缺失部分。

本地无法连接云服务器FTP端口,全网络测试都通,问题出在哪?

当你用telnet 服务器IP 21测试端口通但FTP工具连不上时,多数是vsftpd配置了白名单IP限制,检查/etc/vsftpd.user_list/etc/vsftpd.chroot_list文件,确认你的本地IP没有被列表拒绝。云服务器控制台里的安全组出方向规则也需要放行,如果只加了入方向21端口,某些云厂商默认出方向限制严格会导致数据连接失败,出方向需要放行1024-65535端口范围。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/579895.html

(0)
FreeBSD 9 FTP服务器怎么配置?,有哪些步骤
上一篇 2026年8月18日 08:38
AI搜索竞争对手出现了吗,2026年我们该怎么办?
下一篇 2026年7月22日 16:09

相关推荐

  • java开发cpu过高怎么排查,java cpu占用率高原因分析

    Java应用CPU使用率飙升甚至服务器宕机,90%以上的情况源于代码逻辑缺陷而非硬件资源不足,核心解决路径在于精准定位高消耗代码并实施算法级或代码级优化,处理CPU性能问题,必须遵循“发现异常、定位线程、追踪堆栈、优化代码”的闭环逻辑,任何脱离代码分析的硬件扩容都是治标不治本, CPU飙升的底层逻辑与根因分析在……

    2026年3月2日
    12600
  • 数据安全管理怎么做?企业数据安全管理有哪些具体措施

    共话数据安全管理在数字化转型的深水区,数据已成为企业的核心资产,而服务器作为承载数据与应用的物理基石,其安全性直接决定了业务的连续性,面对日益复杂的网络攻击手段和严苛的数据合规要求(如《数据安全法》、《个人信息保护法》),传统的“裸金属”防护已难以满足现代企业的需求,本文将从底层架构、加密机制、合规认证及实际性……

    2026年6月19日
    2600
  • 微信开发openid怎么获取,获取不到openid怎么办?

    OpenID是微信生态体系中用于标识用户身份的唯一凭证,也是开发者连接用户数据与业务逻辑的核心纽带,在构建微信应用时,无论是公众号、小程序还是移动应用,准确获取并管理OpenID是实现用户登录、个性化服务及数据关联的基础,获取OpenID的本质是一个标准的OAuth2.0授权流程,其核心逻辑在于前端获取临时凭证……

    2026年2月26日
    85600
  • 域名解析修改后多久生效?域名解析不生效怎么办

    在云计算与IDC服务高度成熟的今天,域名解析(DNS)的生效速度往往被普通用户忽视,却是决定网站上线效率、故障排查时效以及业务连续性的关键指标,许多站长在更换服务器或调整DNS记录后,常遇到“明明修改了,却访问不到新IP”的困扰,这背后涉及全球DNS缓存机制、TTL(Time To Live)设置以及各云服务商……

    2026年5月30日
    5400
  • 如何成功开发信息系统?信息系统开发的关键步骤

    信息系统成功开发绝非偶然,它是严谨方法论、清晰规划、精湛技术、持续协作与严格质量把控共同作用的结果,成功的系统能显著提升组织效率、优化决策流程并创造竞争优势,以下是一套经过实践检验的系统开发核心流程与关键要素指南,精准捕获:需求分析的基石深入业务场景: 开发团队必须沉入业务一线,与最终用户、管理者深度访谈,理解……

    2026年2月9日
    13600
  • 酷派大神开发者选项在哪,酷派大神开发者选项怎么打开

    酷派大神开发者选项是安卓系统底层的高级功能入口,正确开启并配置该选项,能够显著提升设备运行效率、优化电池续航,并为开发者提供必要的调试环境,对于普通用户而言,掌握这一功能意味着获得了对手机更深层次的控制权,能够解决系统卡顿、应用后台被杀等常见顽疾,核心结论在于:开发者选项并非仅服务于程序员,它是每一位追求极致体……

    2026年3月19日
    12400
  • 海康开发包怎么用?海康威视SDK下载安装教程

    海康威视作为视频监控领域的龙头企业,其提供的软件开发工具包(SDK)是实现视频监控系统深度定制与集成的核心工具,对于开发者而言,高效利用海康开发包的关键在于理解其分层架构逻辑,掌握从设备初始化到数据流解码的完整链路,并建立规范化的异常处理机制, 这不仅能大幅缩短开发周期,还能确保视频监控系统的稳定性与扩展性,真……

    2026年4月10日
    7800
  • cocos2d js开发难吗?cocos2d js开发教程

    Cocos2d JS 开发是实现轻量级、跨平台2D游戏高效落地的最佳技术方案之一,其核心优势在于通过JavaScript语言实现了开发效率与运行性能的平衡,能够让开发者在短时间内构建出可运行在iOS、Android及Web端的高质量游戏产品,选择这一技术栈,意味着选择了低门槛入门与高性能渲染的双重红利,尤其适合……

    2026年3月10日
    11800
  • arm linux应用开发难吗?arm linux应用开发教程

    ARM Linux应用开发的核心在于构建高效的跨平台交叉编译环境、深入理解嵌入式硬件架构差异以及实施严格的系统级性能优化,这三者构成了从底层驱动适配到上层应用逻辑实现的完整技术闭环, 掌握这一核心逻辑,开发者不仅能解决开发环境搭建的痛点,更能从根源上规避内存泄漏、实时性不足等常见的嵌入式软件缺陷,确保应用在资源……

    2026年3月27日
    9800
  • SmartHostVPS美英方案实测对比,2.95美元VPS值得买吗

    在跨境业务与外贸建站场景中,虚拟专用服务器(VPS)的网络稳定性与计算性能直接决定了业务连续性,SmartHostVPS凭借其极具性价比的定价策略,在低端入门级市场关注度持续走高,本次测评严格把控变量,针对SmartHostVPS月付2.95美元方案,分别在美国洛杉矶与英国伦敦节点进行深度实测,从硬件算力、磁盘……

    2026年4月29日
    6200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注