VS Code Remote-SSH 连接Jetson踩坑完整解决记录(网段不通+主机密钥变更双重故障)

VS Code Remote-SSH 连接Jetson踩坑完整解决记录(网段不通+主机密钥变更双重故障)

一、问题背景

开发环境:Windows10 + VS Code Remote-SSH + NVIDIA Jetson 嵌入式设备

故障现象分两个阶段:

  1. 第一阶段:SSH连接超时 connect to host xxx port 22: Connection timed out,网线直连依旧无法连通;
  2. 第二阶段:修改IP网段互通后,VS Code弹窗提示无法与xxx建立连接 ,终端日志打印 Host key verification failed 主机密钥校验失败,远程服务管道写入中断。

二、故障1:网线直连仍SSH连接超时(网段不匹配)

1. 故障根因

Windows有线网卡IP:10.168.3.106/24,Jetson静态IP:192.168.3.101/24

两个设备子网掩码均为255.255.255.0,分属完全独立网段,直连网线无路由转发,数据包直接超时。

2. 两种修复方案

方案1:修改Windows有线网卡IP(推荐,无需改动Jetson)
  1. 打开「控制面板-网络和共享中心-更改适配器设置」,找到插Jetson网线的以太网;

  2. 右键属性 → IPv4,手动配置静态IP:

    • IP地址:192.168.3.105
    • 子网掩码:255.255.255.0
    • 网关、DNS全部留空;
  3. CMD测试连通:

    cmd 复制代码
    ping 192.168.3.101
    ssh nvidia@192.168.3.101
方案2:修改Jetson静态IP适配Windows网段
  1. Jetson端编辑netplan网络配置:

    bash 复制代码
    sudo nano /etc/netplan/00-installer-config.yaml
  2. 修改IP配置段:

    yaml 复制代码
    addresses: [10.168.3.101/24]
  3. 生效配置:

    bash 复制代码
    sudo netplan apply
  4. Windows端测试连通:

    cmd 复制代码
    ping 10.168.3.101
    ssh nvidia@10.168.3.101

3. 配套补充排查

  1. 确认网口状态:Windows以太网显示「已连接」,更换网线/网口排除硬件故障;

  2. Jetson放行SSH端口:

    bash 复制代码
    sudo ufw allow 22
    sudo ufw reload
  3. 临时关闭Windows防火墙,避免拦截ICMP、SSH数据包。


三、故障2:网段互通后VS Code连接失败(主机密钥校验报错)

1. 日志关键报错

复制代码
Host key for 10.168.3.101 has changed and you have requested strict checking.
Offending ECDSA key in C:\Users\16078\.ssh\known_hosts:13
Failed to parse remote port from server output
过程试图写入的管道不存在

2. 故障根因

Jetson刷机/重装系统后,设备SSH指纹(ECDSA密钥)发生变更;Windows本地known_hosts缓存了旧密钥,SSH严格校验机制直接拦截连接,导致VS Code远程服务安装管道中断,无法建立会话。

3. 分步标准修复流程

步骤1:清除失效旧主机密钥

打开Windows CMD执行命令,一键删除对应IP缓存密钥:

cmd 复制代码
ssh-keygen -R 10.168.3.101
步骤2:手动SSH登录,信任新设备指纹

CMD执行登录命令,弹出密钥确认时输入yes,完整登录一次设备:

cmd 复制代码
ssh nvidia@10.168.3.101

关键前提:必须手动ssh登录成功,VS Code才能正常安装远程服务。

步骤3:清理VS Code远程缓存
  1. 弹窗点击「关闭远程」,完全退出VS Code;

  2. 删除本地缓存目录:

    复制代码
    C:\Users\你的用户名\.vscode\extensions\ms-vscode-remote.remote-ssh-版本号\.vscode-server
  3. 重启VS Code,重新发起SSH连接。

4. 兜底备用方案(永久关闭严格校验)

编辑SSH配置文件 C:\Users\你的用户名\.ssh\config,写入主机配置:

复制代码
Host 10.168.3.101
  HostName 10.168.3.101
  User nvidia
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null

保存后重启VS Code即可绕过密钥校验。


四、完整排错优先级总结(新手直接照做)

  1. 先执行ipconfig核对Windows网卡网段,和Jetson ifconfig IP对比,确保同网段;
  2. CMD手动ping、ssh测试连通性,确认网络无问题;
  3. 若ssh报密钥变更,执行ssh-keygen -R 目标IP清除旧指纹;
  4. 手动ssh登录一次设备,完成新指纹信任;
  5. 清理VS Code远程缓存,重启软件重连。

五、踩坑总结

  1. 网线直连≠同网段,静态IP设备必须手动对齐子网,这是嵌入式开发高频盲区;
  2. Jetson刷机/换系统后一定会触发SSH主机密钥变更,属于SSH安全机制,不是设备故障;
  3. VS Code Remote-SSH依赖底层原生ssh连通,只要CMD手动ssh报错,VS Code必然连接失败,优先在终端排查基础ssh。

六、附加小技巧

Jetson本地开发可使用tmux后台运行程序,避免远程断开导致程序终止;若长期远程调试,推荐配置SSH密钥免密登录,省去重复输入密码。

相关推荐
火山引擎开发者社区2 小时前
漫话火山 Milvus|为 Agent、RAG 、语义搜索而生,AI 时代的极致性价比之选
人工智能
Archy_Wang_17 小时前
LVS+KeepAlived+Nginx实现企业级业务高可靠部署的实战教程
运维·nginx·lvs
jikemaoshiyanshi8 小时前
AWS 中国峰会 2026 有哪些 AI Agent 相关演讲可以看?按业务、研发与生产阶段选看
大数据·人工智能
张文君8 小时前
docker使用代理拉取镜像
运维·docker·容器
网易易盾8 小时前
AI互动产品安全合规体系架构:制度/技术/运营/证据四层落地
人工智能·安全·aigc·内容安全
新知图书9 小时前
4.3 链接速读
人工智能·语音识别·ai助手·千问
江苏久众新视9 小时前
SOP-AI实战:基于AI视觉与视频检测,精准管控空调管件装配防漏防错
人工智能
陌路209 小时前
Docker教程从入门到精通(0基础)
运维·docker·容器
wling03019 小时前
vasp虚频计算-python脚本
开发语言·windows·python·vasp计算
我是小灰灰吖9 小时前
Ubuntu 22.04 安装 SSH 服务与远程调试环境配置指南
qt·ubuntu·ssh