如何上传文件到Linux服务器

使用scp命令或sftp工具可实现本地文件上传至Linux服务器,scp通过命令行直接复制文件;sftp提供交互式操作,支持图形化工具(如FileZilla)进行拖拽上传。

准备工作

  1. 必备信息

    如何上传文件到Linux服务器

    • 服务器IP地址(如 168.1.100
    • SSH端口(默认22,若修改需确认)
    • 用户名(如 root 或普通用户)
    • 认证方式:密码或SSH密钥(推荐密钥)
      注:密钥需提前配置到 ~/.ssh/authorized_keys
  2. 本地环境检查

    • Windows:安装 PuTTYWinSCP
    • macOS/Linux:终端已内置SSH工具

5种上传方法详解

方法1:SCP命令(命令行推荐)

适用场景:快速上传单个文件或目录,基于SSH加密。
操作步骤

# 上传文件
scp -P 22 /本地/文件.txt 用户名@服务器IP:/目标路径/
# 上传目录(加 -r 参数)
scp -r -P 22 /本地/目录 用户名@服务器IP:/目标路径/

注意

  • 若端口为22,可省略 -P 22
  • 使用密钥:scp -i ~/.ssh/私钥文件 ...

方法2:SFTP(交互式安全传输)

适用场景:需浏览服务器目录或批量上传。
操作步骤

  1. 连接服务器:
    sftp -P 22 用户名@服务器IP
  2. 常用命令:
    • put /本地/文件.txt → 上传文件
    • put -r /本地/目录 → 上传目录
    • cd /服务器路径 → 切换目录
    • ls → 查看文件
    • exit → 退出

方法3:rsync(增量同步)

适用场景:大文件或需同步更新的场景(仅传输差异部分)。
操作步骤

rsync -avz -e "ssh -p 22" /本地/目录/ 用户名@服务器IP:/目标路径/

参数说明

如何上传文件到Linux服务器

  • -a:归档模式(保留权限)
  • -v:显示进度
  • -z:压缩传输

方法4:图形化工具(FileZilla)

适用场景:适合不熟悉命令行的用户。
操作步骤

  1. 下载安装 FileZilla
  2. 顶部输入栏填写:
    • 主机:sftp://服务器IP
    • 用户名/密码
    • 端口:22
  3. 左侧(本地)拖拽文件 → 右侧(服务器目录)

方法5:FTP(传统协议,需提前配置)

适用场景:服务器已安装FTP服务(如vsftpd)。
操作步骤

  1. 服务器安装vsftpd:
    sudo apt install vsftpd  # Ubuntu/Debian
    sudo yum install vsftpd  # CentOS
  2. 本地使用FTP客户端(如WinSCP)连接:
    • 协议选 FTP
    • 输入IP、端口21、用户名/密码

安全与权限管理

  1. 传输安全

    • 优先使用 SCP/SFTP/rsync(基于SSH加密)
    • 避免FTP明文传输,若必须用,启用 FTPS(FTP over SSL)
  2. 文件权限设置
    上传后检查权限:

    # 设置文件所有者
    chown 用户名:组名 /路径/文件
    # 设置权限(例如仅用户可写)
    chmod 644 /路径/文件  # 文件
    chmod 755 /路径/目录  # 目录

常见问题解决

  • 权限拒绝(Permission denied)
    检查目标目录权限:ls -ld /目标路径,或用 sudo 临时提权上传。

  • 连接超时
    确认防火墙放行端口:

    如何上传文件到Linux服务器

    sudo ufw allow 22  # 开放SSH端口
  • 密钥认证失败
    确保本地私钥权限为 600

    chmod 600 ~/.ssh/私钥文件
  • 磁盘空间不足
    查看服务器空间:

    df -h  # 检查磁盘使用
    du -sh /目标目录  # 查看目录大小

方法对比与选择建议

方法 安全性 易用性 适用场景
SCP 快速上传小文件
SFTP 交互式目录管理
rsync 大文件/增量同步
FileZilla 图形化操作
FTP 仅限内网环境

专业建议

  • 日常使用 → FileZilla(图形化)SCP(命令行)
  • 自动化脚本 → rsync
  • 敏感数据 → 必须用 SSH协议(SCP/SFTP) + 密钥认证

引用说明

  • OpenSSH文档:https://www.openssh.com/manual.html
  • FileZilla官方指南:https://wiki.filezilla-project.org/
  • Linux权限管理:Red Hat系统管理手册(2025版)

原创声明:本文基于Linux运维实践编写,遵循安全优先原则,实际操作前请备份数据,修改配置建议在测试环境验证。

原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/21588.html

(0)
酷盾叔的头像酷盾叔
上一篇 2025年6月12日 21:17
下一篇 2025年6月12日 21:27

相关推荐

  • Linux如何查看系统信息

    查看Linux系统信息常用命令:,- uname -a:显示内核及系统架构,- lsb_release -a 或 cat /etc/os-release:查看发行版信息,- hostnamectl:显示主机名和系统配置,- top/htop:实时查看系统资源使用情况

    2025年6月4日
    400
  • 如何查看Linux命令参数

    查看Linux命令参数,常用方法包括:使用命令名 –help或-h获取快速帮助;通过man 命令名查阅详细手册页;利用info 命令名获取结构化文档;对Shell内置命令可用help 命令名。

    2025年6月11日
    100
  • 如何检查Linux SSH端口占用?

    使用netstat -tuln | grep ‘:22’或ss -tuln | grep ‘:22’命令查看22端口(默认SSH端口)的占用状态,若端口处于”LISTEN”状态,表示SSH服务正在运行。

    2025年6月12日
    000
  • 如何提升Linux虚拟机速度

    使用基准测试工具测试Linux虚拟机性能,重点关注CPU(如sysbench)、内存(如memtester)、磁盘I/O(如fio)和网络(如iperf3)的吞吐量、延迟等关键指标,同时监控系统资源使用情况。

    2025年6月12日
    100
  • Linux如何查看CPU?

    在Linux中查看CPU信息常用命令:lscpu查看核心架构,cat /proc/cpuinfo获取详细参数,top或htop监控实时负载,nproc显示核心总数。

    2025年6月6日
    200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN