当前位置:首页 > Linux > 正文

如何上传文件到Linux服务器

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

准备工作

  1. 必备信息

    • 服务器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(交互式安全传输)

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

操作步骤

如何上传文件到Linux服务器 第1张

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

方法3:rsync(增量同步)

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

操作步骤

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

参数说明

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

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

适用场景:适合不熟悉命令行的用户。

操作步骤

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

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

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

操作步骤

如何上传文件到Linux服务器 第2张

  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服务器 第3张

    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运维实践编写,遵循安全优先原则,实际操作前请备份数据,修改配置建议在测试环境验证。

0