You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

仅能访问远程服务器时如何将文件从远程主机传输到本地机器

你需要从远程服务器主动推送文件到本地,本质是需要让远程能访问到本地的接收端口,或者利用当前已有的SSH连接通路实现传输,以下是几种常用的可行方案:

方案1:当前已通过SSH客户端连接远程时,用sz命令直接传输(最便捷)

该方案无需配置端口映射、无需公网IP,只要你是通过标准SSH客户端(Xshell、iTerm2、FinalShell、PuTTY等均支持)连接到远程服务器即可使用:

  • 先在远程服务器安装lrzsz工具包:
    • Debian/Ubuntu系统执行:apt update && apt install lrzsz
    • CentOS/RHEL系统执行:yum install lrzsz
  • 安装完成后直接在远程shell中执行命令:sz /远程服务器上待传输的文件绝对路径
  • 执行后SSH客户端会自动弹出本地文件保存弹窗,选择你要保存的本地路径即可完成传输。
方案2:本地有公网IP时,远程直接用scp推送

如果你的本地机器有公网IP,或者和远程服务器处于同一个内网,且本地已经开启了SSH服务:

  • 直接在远程服务器执行scp命令即可推送文件:
    默认SSH端口为22时:scp /远程待传文件路径 本地SSH用户名@本地IP地址:/本地存储目录路径
    如果本地SSH端口自定义为其他端口,加-P参数指定端口:scp -P 本地自定义SSH端口 /远程待传文件路径 本地SSH用户名@本地IP地址:/本地存储目录路径
  • 执行后输入本地SSH的登录密码即可完成传输。
方案3:本地无公网IP时,通过SSH反向隧道传输

如果本地没有公网IP,远程无法直接访问到本地的SSH端口,可以先在本地建立反向隧道打通通路:

  • 第一步:在本地机器的终端执行命令,建立反向隧道:ssh -R 2222:localhost:22 远程服务器用户名@远程服务器IP
    该命令会将远程服务器的2222端口流量转发到你本地机器的22SSH端口,执行完成后会自动进入远程服务器的shell界面。
  • 第二步:在刚才进入的远程shell界面执行scp命令传输文件:scp -P 2222 /远程待传文件路径 本地SSH用户名@127.0.0.1:/本地存储目录路径
  • 执行后输入本地SSH的登录密码即可完成传输。
方案4:小文件快速临时传输

如果需要传输的文件体积较小(建议10M以内),不需要额外安装工具或配置端口:

  • 在远程服务器执行命令:base64 /远程待传文件路径,终端会输出该文件对应的Base64编码字符串。
  • 全选复制所有输出的Base64字符串,在本地终端执行命令:echo "你复制的全部Base64内容" | base64 -d > /本地存储的完整文件名,即可得到原文件。
    该方案支持文本、二进制等所有格式的文件,大文件不建议使用,复制成本过高。

内容的提问来源于stack exchange,提问作者J0nty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:39:02