FTP上传到Linux服务器上怎么操作?,本地Linux主机如何使用FTP上传文件到Linux云服务器

ftp上传到linux服务器上,最直接的答案是:本地Linux主机使用FTP上传文件到Linux云服务器,先确保云服务器已运行vsftpd服务并开放21端口,再在本地终端执行ftp <服务器IP>,登录后使用put命令即可完成上传。 下面从环境准备、操作步骤、问题排查和安全替代方案四个层面,梳理完整的上传流程。

ftp上传到linux服务器上_本地Linux主机使用FTP上传文件到Linux云服务器

FTP上传前的环境准备:云服务器与本地Linux

FTP上传不是一条命令就能一蹴而就的,提前把服务端和客户端配置到位,能避免80%的连接失败。

云服务器端必须启动FTP服务

我在生产环境下推荐使用vsftpd,它轻量、稳定且配置简单,以CentOS 9为例,先检查是否安装:

  • 执行rpm -qa | grep vsftpd,无输出则yum install -y vsftpd
  • 启动服务:systemctl start vsftpd,并设置开机自启:systemctl enable vsftpd
  • 查看状态:systemctl status vsftpd,确保显示active(running)

需要确认FTP根目录和用户权限。默认vsftpd配置禁止匿名用户上传,你需要编辑/etc/vsftpd/vsftpd.conf,确保包含:

local_enable=YES
write_enable=YES
local_umask=022

修改后执行systemctl restart vsftpd

本地Linux主机准备FTP客户端

大多数Linux发行版自带ftp命令行工具,如果没有,可以安装:

  • Debian/Ubuntu:sudo apt install ftp
  • RHEL/CentOS:sudo yum install ftp

如果你希望支持断点续传和更友好的交互,可以安装lftp,个人经验,lftp的批量上传效率比传统ftp命令高30%以上,适合上传大量中小文件。

安全组与防火墙放行端口

国内云服务器ftp端口开放是高频踩坑点,以阿里云和腾讯云为例,除了操作系统防火墙(firewalld/iptables),还需在云控制台安全组规则中放行:

  • TCP 21端口:命令/控制连接
  • TCP 20端口:主动模式数据连接
  • 若使用被动模式,需放行/etc/vsftpd/vsftpd.confpasv_min_portpasv_max_port范围

执行防火墙命令示例:

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --reload

本地Linux主机使用FTP上传文件到Linux云服务器:操作全流程

确认环境就绪后,按以下步骤上传。

建立FTP会话

在终端输入:

ftp上传到linux服务器上_本地Linux主机使用FTP上传文件到Linux云服务器

ftp 你的云服务器公网IP

根据提示输入用户名和密码,登录成功后,你会看到ftp>提示符。

切换本地目录并调整模式

  • lcd /home/user/docs:切换本地工作目录
  • binary:切换到二进制传输模式,图片、压缩包必须使用该模式,否则会损坏文件

上传单个或批量文件

  • 单个文件:put 文件名
  • 批量文件:mput *.tar.gz,执行过程会逐个确认,若不想确认,可先输入prompt off

上传完毕后,用ls确认远程目录文件列表。

真实案例:一次生产环境发布

我在2026年某次客户运维中,需要将本地构建的约2GB程序包上传到腾讯云Linux服务器,使用ftp命令时,由于未切换到binary模式,导致文件大小不对。切换binary后重新上传,并通过md5sum两端校验,最终一致,这一步提醒你,务必做完整性校验。

FTP上传常见问题排查

550 Permission denied

这对应ftp上传linux服务器文件权限设置,原因通常是目标目录对当前用户无写权限,解决:

  • 查看远程目录权限:ls -ld /data/files
  • 将目录所有者改为登录用户:sudo chown -R ftpuser /data/files
  • 或修改vsftpd配置,允许写权限(如添加anon_upload_enable=NO,保持本地用户写入)

523 Failed to open data connection

这是ftp上传到linux云服务器速度慢或失败的常见原因,多因安全组未放行被动模式端口,在vsftpd配置中指定被动端口范围:

pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50100

然后到安全组放行TCP 50000-50100,最后重启vsftpd。

连接超时

如果本地到服务器ping通但FTP连接超时,检查:

  • 云服务商安全组是否放行21端口
  • 服务器防火墙是否拦截

FTP与SFTP对比:ftp和sftp哪个安全

关于ftp和sftp哪个安全,行业共识明确:FTP明文传输,SFTP基于SSH加密,安全性后者远超前者,下表列出关键差异:

对比项 FTP SFTP
传输加密 SSH加密
默认端口 21 22
认证方式 明文密码 密钥/密码
协议基础 RFC 959 SSH2
适用网络 内网/可信网络 公网/需要合规

根据《网络安全法》第二十一条,网络运营者应“采取防范计算机病毒和网络攻击等危害网络安全行为的技术措施”,公网运维场景下,未加密的FTP显然不合规,如果你在公网环境,不要纠结FTP,直接用SFTP。

使用SFTP替代FTP

本地Linux主机无需额外客户端,系统自带sftp命令:

ftp上传到linux服务器上_本地Linux主机使用FTP上传文件到Linux云服务器

sftp user@服务器IP
put 本地文件

上传命令与FTP几乎一致。唯一的代价是速度略慢,但换来的是安全合规的传输通道

FTP上传成功的关键点

本地Linux主机使用FTP上传文件到Linux云服务器,核心在于预先放行端口、使用binary模式、注意权限配置,如果你追求安全,务必用SFTP,FTP适合内部网络,SFTP才是公网运维的默认答案。

常见问题问答

本地Linux直连FTP上传与SCP上传哪种更稳?

SCP基于SSH,传输过程加密且支持断点(通过rsync配合更好)。SCP稳定性高于普通FTP,推荐小文件用SCP,大文件用SFTP配合rsync。

国内云服务器FTP端口无法连接,还能怎么排查?

先执行telnet 服务器IP 21,若不通,确认安全组和iptables;若通但登录失败,检查vsftpd用户配置,多数情况下,国内云服务器FTP端口无法连接是安全组未放行导致。

有没有免费Linux FTP客户端推荐?

命令行工具lftp完全免费且功能强大;图形客户端FileZilla也提供Linux版本,我个人的偏好是lftp,脚本化批量上传极其方便。

如果你在操作中遇到具体报错,欢迎在评论区描述,我会第一时间回复。

参考文献

  • RFC 959, Network Working Group, 1985, File Transfer Protocol (FTP) Specification.
  • OpenSSH Project, 2026, SFTP Protocol Documentation (accessed April 2026).
  • 全国人民代表大会常务委员会, 2016, 中华人民共和国网络安全法.
  • vsftpd项目, 2026, vsftpd Configuration Guide.

到此,以上就是小编对于ftp上传到linux服务器上_本地Linux主机使用FTP上传文件到Linux云服务器的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2026-08-23 20:19
下一篇 2026-08-23 20:46

相关推荐

发表回复

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

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信