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

如何通过VSCode连接SSH跳板机后的远程SSH主机?

解决VSCode通过SSH跳板机直接连接硬件设备并使用调试器的方法

方法一:配置SSH配置文件实现直接连接(推荐)

这是最可靠的方式,能让VSCode完整支持hardware1上的所有开发调试功能。

  1. 打开本地SSH配置文件

    • Linux/macOS:编辑~/.ssh/config
    • Windows:编辑C:\Users\<你的用户名>\.ssh\config(无此文件则新建)
  2. 添加配置内容
    若使用OpenSSH 7.6及以上版本(支持ProxyJump),用以下配置:

    Host login.university.edu
      HostName login.university.edu
      User 你的跳板机用户名
    
    Host hardware1
      HostName hardware1
      User 你的hardware1用户名  # 和跳板机用户名相同可省略
      ProxyJump login.university.edu
    

    若SSH版本较低不支持ProxyJump,改用ProxyCommand:

    Host hardware1
      HostName hardware1
      User 你的hardware1用户名
      ProxyCommand ssh -W %h:%p login.university.edu
    
  3. 完成配置后连接VSCode
    打开VSCode的Remote SSH插件,远程主机列表中会出现hardware1,点击连接后按提示输入密码(或配置免密登录更便捷),即可直接在VSCode中操作hardware1,调试器可正常使用。

可选:配置SSH免密登录(避免重复输密码)

  1. 本地生成SSH密钥:

    ssh-keygen -t ed25519
    

    按回车默认生成路径,无需设置密码。

  2. 将本地公钥复制到跳板机:

    ssh-copy-id 你的用户名@login.university.edu
    
  3. 在跳板机上生成密钥并复制到hardware1:
    先SSH登录到跳板机,执行:

    ssh-keygen -t ed25519
    ssh-copy-id hardware1
    

    完成后,后续连接无需再输入密码。

方法二:配置launch.json在调试前自动SSH到hardware1

这种方式适用于临时场景,但调试器兼容性不如方法一,仅作备选。

  1. 先通过VSCode Remote SSH连接到login.university.edu。

  2. 创建tasks.json
    打开命令面板(Ctrl+Shift+P),选择Tasks: Configure Task → Create tasks.json from template → Others,替换为以下内容:

    {
      "version": "2.0.0",
      "tasks": [
        {
          "label": "ssh-to-hardware1",
          "type": "shell",
          "command": "ssh hardware1",
          "problemMatcher": []
        }
      ]
    }
    
  3. 修改launch.json
    打开调试面板,创建或修改launch.json(以C++的gdb调试为例),添加preLaunchTask字段:

    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "(gdb) Launch",
          "type": "cppdbg",
          "request": "launch",
          "program": "/path/to/your/program/on/hardware1",
          "args": [],
          "stopAtEntry": false,
          "cwd": "${workspaceFolder}",
          "environment": [],
          "externalConsole": false,
          "MIMode": "gdb",
          "preLaunchTask": "ssh-to-hardware1"
        }
      ]
    }
    

    注意:这种方式需要手动输入hardware1的密码,建议在跳板机上配置到hardware1的免密登录以避免重复输入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 03:10:21