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

VSCode远程隧道如何转发SFTP端口?

VSCode Remote Tunnel Access 端口转发机制说明及问题解决

一、VSCode Remote Tunnel 的端口转发机制

VSCode Remote Tunnel 的端口转发分为两种核心模式,这是你遇到问题的关键:

  • Web 代理模式:你看到的 https://abcdefgh-22.uks1.devtunnels.ms 这类链接属于这种模式,它通过微软 devtunnels 服务提供 HTTP/HTTPS 协议的代理访问,仅支持 Web 流量,完全不兼容 SFTP(SSH 二进制协议),所以无法用这类链接访问远程 SSH 端口。
  • 本地端口绑定模式:这是适配 SSH/SFTP 这类非 Web 协议的模式——将远程主机的端口直接映射到本地电脑的指定端口,让本地程序可以通过 localhost:端口 直接与远程端口通信,这才是你需要的转发方式。

二、实现你的链路需求的操作步骤

你的目标链路是 ComputerA:8123 → VSCode Tunnel → ComputerB:22 → SFTP → ComputerC:22,按以下步骤配置即可:

  1. 在 VSCode 中配置正确的端口转发

    • 打开已连接到 ComputerB 的 VSCode 会话,调出「Ports」面板:可以通过左侧活动栏的「远程资源管理器」找到,或按 Ctrl+Shift+P 输入「Ports: Focus on Ports View」。
    • 点击「Forward a Port」按钮,输入远程端口 22,在「Local Port」输入框中指定 8123(如果8123被占用,替换为其他可用端口)。
    • 确认后,Ports 面板会出现类似 8123 → localhost:22 (ComputerB) 的记录,此时本地8123端口已与 ComputerB 的22端口通过隧道绑定。
  2. 用 SFTP 客户端完成链路跳转

    • 打开 SFTP 客户端(如 FileZilla、WinSCP),先连接到转发后的本地端口:
      • 主机:localhost
      • 端口:8123
      • 用户名/密码/密钥:ComputerB 的 SSH 认证信息
    • 成功连接到 ComputerB 后,再通过该主机发起对 ComputerC 的 SFTP 连接:可以在客户端的命令行执行 sftp user@ComputerC,或利用客户端的「跳转主机」功能直接配置二级连接。
  3. 常见问题排查

    • 确认 ComputerB 的22端口允许本地回环访问(默认 SSH 服务都允许)。
    • 验证转发是否生效:在 ComputerA 的终端执行 telnet localhost 8123,若能连通则转发正常;若不通,检查 VSCode 隧道连接状态,或更换本地端口重试。
    • 坚决不要用 devtunnels 的 HTTPS 链接访问 SFTP,该模式仅适配 Web 流量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 05:43:38