当前位置:首页 > 互联网 > 正文

如何在服务器里安全传文件? | 高效文件上传技巧全解析

SCP (Secure Copy)

基于 SSH 的安全传输,适合中小文件。

# 本地 → 远程服务器 scp -P 22 /本地/文件.txt 用户名@远程IP:/远程/目录/ # 远程服务器 → 本地 scp -P 22 用户名@远程IP:/远程/文件.txt /本地/目录/ # 服务器A → 服务器B(通过本地中转) scp -P 22 用户A@IP_A:/文件.txt 用户B@IP_B:/目录/

注意:-P 指定 SSH 端口(默认 22 可省略)。

Rsync (增量同步)

高效同步工具,支持断点续传和增量传输。

# 本地 → 远程(压缩+递归目录) rsync -avzP -e "ssh -p 22" /本地/目录/ 用户名@远程IP:/远程/目录/ # 远程 → 本地 rsync -avzP -e "ssh -p 22" 用户名@远程IP:/远程/目录/ /本地/目录/

参数说明

如何在服务器里安全传文件? | 高效文件上传技巧全解析 第1张

  • -a:归档模式(保留权限等)
  • -v:显示详情
  • -z:压缩传输
  • -P:显示进度和断点续传


SFTP (SSH File Transfer)

交互式安全传输,适合手动操作。

如何在服务器里安全传文件? | 高效文件上传技巧全解析 第2张

# 连接服务器 sftp -P 22 用户名@远程IP # 常用命令 put /本地/文件.txt # 上传 get /远程/文件.txt # 下载 ls # 列目录 cd /远程/目录 # 切换目录


SSH + Tar (大文件/目录)

直接打包传输,避免中间文件。

# 本地目录 → 远程目录(免中间文件) tar czf - /本地/目录 | ssh -p 22 用户名@远程IP "tar xzf - -C /远程/目录" # 远程目录 → 本地目录 ssh -p 22 用户名@远程IP "tar czf - /远程/目录" | tar xzf - -C /本地/目录


HTTP/FTP 下载

开放文件下载(需提前部署服务):

# 在源服务器启动 Python 临时 HTTP 服务 python3 -m http.server 8000 # 在目标服务器下载 wget http://源服务器IP:8000/文件.txt


云存储中转

通过云服务中转(如 AWS S3、阿里云 OSS):

# 上传到云存储 aws s3 cp 文件.txt s3://bucket名/ # 从云存储下载 aws s3 cp s3://bucket名/文件.txt ./


注意事项:

  1. 防火墙:确保端口开放(如 SSH 的 22 端口)。
  2. 权限:目标目录需有写入权限(chmod 检查)。
  3. 大文件:建议用 rsync 或 tar + ssh 避免中断。
  4. 安全性:优先使用 SSH 相关工具(SCP/Rsync/SFTP)。

根据需求选择最合适的方式!

如何在服务器里安全传文件? | 高效文件上传技巧全解析 第3张

0