惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
F
Fortinet All Blogs
B
Blog
GbyAI
GbyAI
P
Proofpoint News Feed
量子位
The Register - Security
The Register - Security
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
B
Blog RSS Feed
WordPress大学
WordPress大学
Recorded Future
Recorded Future
Recent Announcements
Recent Announcements
V
Vulnerabilities – Threatpost
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
Secure Thoughts
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Webroot Blog
Webroot Blog
AWS News Blog
AWS News Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
O
OpenAI News
月光博客
月光博客
H
Hacker News: Front Page
S
Security Affairs
W
WeLiveSecurity
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Help Net Security
Help Net Security
MongoDB | Blog
MongoDB | Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Docker
T
The Blog of Author Tim Ferriss
Spread Privacy
Spread Privacy
Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
S
Securelist
Microsoft Azure Blog
Microsoft Azure Blog
TaoSecurity Blog
TaoSecurity Blog
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
A
About on SuperTechFans

博客园 - smil、梵音

C语言标准(C89/C90)中的32个关键字全列表 Windows 系统的 vscode 通过 Remote-SSH 连接虚拟机的 Ubuntu 系统运行 C 语言的代码 Ubuntu虚拟机里安装了SSH,开启SSH服务的时候报错 VS Code的Remote - SSH功能 Ubuntu系统里面安装 g++ ,sudo apt update 的含义 C语言是不是必须得通过gcc编译成可执行的程序? c语言用gcc编译过后,执行 ./hello.c 报错 ./hello.c: 权限不够 windows系统的虚拟机里面的Ubuntu系统安装VMware Tools Ubuntu的应用中心搜索 vscode 的时候,筛选条件为Snap包、debian包是什么意思,如何安装vscode Ubuntu系统是否就是Linux系统,安装软件和Windows系统有何区别 Ubuntu系统里面vscode运行C语言的第一个 Hello World 程序 vscode 中安装C/C++相关的插件 Ubuntu 安装一个轻量级的中文输入法Fcitx5 Ubuntu安装百度网盘 Ubuntu系统里面安装vscode 乌版图系统截屏快捷键 Ubuntu 系统里面运行C++ TortoiseGit 的安装与汉化 安装虚拟机+ ubuntu24.04 系统 联想小新安装 ubuntu24.04 双系统 | 安装乌版图系统 | windows安装 ubuntu24.04 双系统 利用faststone capture制作gif动图 Sublime Text 常用编辑快捷键速查表 vscode 中的 css 样式代码不显示折叠图标的解决方法 IDEA中git的Cherry-Pick的可视化使用(个人总结) IDEA中git的Cherry-Pick的使用 IDEA中如何实现git的cherry-pick可视化操作? Windows11添加系统环境变量 VS Code——Live Server的简介、安装与使用 vue3中 pinia 的运用 vscode使用region折叠任意想折叠的代码块 我本地分支代码推送到远程的另一个分支,怎么操作? idea中打开多文件编辑器换行展示 本地代码强制覆盖远程代码,本地代码强制和远程某一个分支保持一致,再覆盖远程代码 css头部固定,内容区域高度自适应剩余的屏幕高度,内容区域过多显示竖向滚动条 flex为1的元素宽度自适应的同时,文本太长的时候显示省略号 idea中项目文件目录消失如何解决 vue3插入图片 vue3使用构建工具时,关于本地图片的引用 vue3 中父组件调用子组件的方法,子组件是不是必须暴露方法 如何改变type="checkbox"的input复选框的样式 vue3中非父子组件、非祖先-后代组件之间传递方法 解决 IntelliJ IDEA 中项目右键没有 Git 菜单的问题 关于 ref 为 DOM 元素或子组件实例动态创建引用的总结 Git 合并时出现 Please enter a commit message to explain why this merge is necessary 问题解决 拉取远程其他分支的最新代码
Windows 系统 vscode Remote-SSH 远程连接虚拟机里面的Ubuntu系统的失败处理
smil、梵音 · 2026-06-27 · via 博客园 - smil、梵音

前言:

Windows 系统里面安装了虚拟机,又在虚拟机里面安装了 Ubuntu 的系统,在 Windows 系统里面的 vscode 里面安装了 Remote - SSH 插件,也搞定了各种配置,最后连接虚拟机里面的 Ubuntu 系统的时候,报错了。如下图所示:

91d5213c14b5f5193a488d8327de12ab

 然后就排查各种原因,各种问AI,搜网上的资料,最后通过别的方法解决了。现记录一下。

一、方案一:修改 Vscode 的配置文件

在B站上面看到了一个视频,讲解远程连接 Ubuntu 系统失败的处理。看评论里面很多人都是感谢博主的,虽然我通过视频的方法没有解决我的问题,但是我觉得值得记录一下。

1、remote-ssh失败,先关闭远程连接。

2、点击 vscode 左下角的设置图标,然后选择设置选项

image

 3、然后点击右上角的【打开设置(json)】图标

image

 4、在设置文件里面添加如下代码,其中  remote.SSH.remotePlatform 中的 key 值 "myUbuntu" 是SSH 配置文件中的 host 名字。

image

image

 一般情况下,设置如上,就可以连接成功了,到此已经可以解决大部分人的问题了,如果没有解决问题,我看视频下面的评论有一条点赞很多,我截图如下:

7caab639f170cf2c6e6be7ea583d526e

 方案一到此结束,很多人留言都说解决了自己的问题,但是我按照视频中的方法,依然没有解决我的问题。我不知道是哪里出问题了。只有继续问AI。

二、方案二:记录我的解决办法

我按照AI回答的指导各种测试,然后截图问AI,下面是我的截图:

查询windows系统的IP:

image

 查询 Ubuntu 系统的IP:

image

 查询 Ubuntu 的防火墙:

image

 在 Windows 系统中测试 SSH 连接:

image

 在Windows系统中 ping Ubuntu 系统的IP,ping不通:

image

 在 Ubuntu 系统中 ping Windows 系统的IP,可以ping的通:

image

 虚拟机菜单里面的 【编辑】--- 【虚拟网络编辑器】:

image

 当我把上面所有的截图给 Deepseek 的时候,AI给出的答案如下:

项目
虚拟机 IP 192.168.88.129/24
宿主机 IP 192.168.99.190/24
虚拟网络模式 NAT(VMnet8,子网 192.168.88.0/24
宿主机所属网段 192.168.99.0/24(通过 WLAN)

结论:两者不在同一网段,而且 NAT 模式下,宿主机无法直接访问 NAT 内部的虚拟机(除非配置端口转发)。
虚拟机之所以能 ping 通宿主机,是因为 NAT 允许虚拟机通过宿主机访问外部网络(包括宿主机自身),但反向流量默认不被转发。

解决方案: 设置 NAT 端口转发(推荐,无需改动网络模式)

在 VMware 中为 NAT 网络添加端口转发,将宿主机的某个端口映射到虚拟机的 22 端口。

步骤:

  1. 打开 VMware Workstation,菜单栏 编辑 → 虚拟网络编辑器。

  2. 选择 VMnet8(NAT 模式),点击 NAT 设置。

  3. 在“端口转发”区域,点击 添加。

    • 主机端口:填写一个未被占用的端口,比如 2222

    • 类型:TCP

    • 虚拟机 IP 地址192.168.88.129

    • 虚拟机端口22

    • 描述随意(如 "SSH")

  4. 确定保存。

我自己设置的时候截图如下:

image

 最后的修改结果:

image

配置完成后测试连接

在 Windows 命令提示符(CMD)中执行:

ssh -p 2222 leaf@127.0.0.1

(这里用 127.0.0.1 是因为宿主机自己监听 2222 端口,流量会通过 NAT 转发给虚拟机)

输入虚拟机的 leaf 用户密码,如果能登录,说明设置成功。

我自己测试成功的截图:

image

VSCode Remote-SSH 配置

在 Windows 用户目录下的 .ssh\config 文件中(路径:C:\Users\Lenovo\.ssh\config)添加如下代码,然后保存:

Host ubuntu-vm
    HostName 127.0.0.1
    User leaf
    Port 2222

截图如下:

image

至此,设置完成,但是我这种设置有种缺陷,虚拟机的IP如果变化的话,我还得重新设置。

因为现在设置的端口转发目标是 192.168.88.129,这个 IP 是 VMware NAT 的 DHCP 动态分配 的。

  • 如果将来虚拟机重启或 DHCP 租约到期,IP 可能变为 192.168.88.130 或别的。

  • 一旦 IP 变了,端口转发就会失效(因为目标地址不对),你需要重新进入虚拟网络编辑器,把端口转发里的“虚拟机 IP 地址”改成新的 IP。

解决办法(强烈建议):在 Ubuntu 虚拟机中设置静态 IP,让它永远固定为 192.168.88.129

但是我暂时没有采用 AI 的建议,暂时还没有修改为静态的IP。

最后在 vscode 中连接就可以成功了:

image

 成功截图:

image