VSCode使用SSH连接VMware虚拟机环境操作指南

使用 VSCode Remote-SSH 连接 VMware NAT 模式虚拟机

在日常开发中,我们常将代码运行环境部署在 VMware 虚拟机中,但在虚拟环境中编程容易遭遇卡顿等问题,所以我们希望在宿主机的 VSCode 里直接编辑、调试代码。本文介绍如何通过 Remote-SSH 插件 + NAT 端口转发,实现宿主机与虚拟机的无缝连接

目标

  • 宿主机 VSCode 直接访问虚拟机内文件,实现远程开发

  • 理解 NAT 模式与桥接模式的区别,按需选择网络模式

  • 解决 NAT 模式下宿主机无法直接访问虚拟机的核心问题

前置准备

  1. VMware 虚拟机:已安装 Linux 系统(如 Ubuntu 22.04),网络模式可切换为 NAT 或桥接

  2. 宿主机:Windows/macOS/Linux,已安装 VSCode

  3. 虚拟机 SSH 服务:确保 OpenSSH Server 已安装并运行

  4. 基础网络知识:了解 IP 地址、端口、网段的基本概念(无需深入,后文会补充)

虚拟机端配置

使用 NAT 模式,虚拟机端需要确保 SSH 服务正常运行,这是 SSH 连接的基础。

安装并启动 SSH 服务

在虚拟机终端执行以下命令:

bash 复制代码
# 更新软件源
sudo apt update

# 安装 OpenSSH 服务端
sudo apt install openssh-server -y

# 启动并设置开机自启
sudo systemctl enable --now ssh

# 验证服务状态(确保为 active (running))
sudo systemctl status ssh

确认防火墙状态

Ubuntu 默认防火墙 ufw 通常为关闭状态,若已启用需放行 22 端口(SSH 默认端口):

bash 复制代码
# 查看防火墙状态
sudo ufw status

# 若为 active,放行 SSH 端口
sudo ufw allow 22
sudo ufw reload

获取虚拟机 IP

执行以下命令获取虚拟机当前 IP,后续连接需用到:

bash 复制代码
# 方法 1:查看所有网络接口的 IP(推荐)
ip addr show | grep inet

# 方法 2:直接输出已分配的 IP(更简洁)
hostname -I

说明:桥接模式下,IP 通常为 192.168.1.x(与宿主机同网段);NAT 模式下,IP 通常为 192.168.xxx.x(如 192.168.182.128)。

由于虚拟机处于私有网段,宿主机无法直接访问,需通过 端口转发实现连接------本质是让 NAT 网关"转发流量",将宿主机的某个端口映射到虚拟机的 22 端口(SSH 端口)。

VMware 端口转发配置

  1. 关闭所有运行中的虚拟机(确保配置生效);

  2. 在 VMware 主界面,点击顶部菜单编辑 → 虚拟网络编辑器

  3. 若弹出 UAC 权限提示,点击 更改设置 获取管理员权限;

  4. 在列表中选中 VMnet8(默认 NAT 模式网络,对应虚拟机的私有网段);

  5. 点击右侧 NAT 设置按钮;

  6. 在弹出的窗口中,找到 端口转发 区域,点击 添加

  7. 填写转发规则(核心配置):

    • 主机端口2222(自定义,需确保未被宿主机其他程序占用,如 2223、8022 均可);

    • 类型SSH(或 TCP,SSH 基于 TCP 协议);

    • 虚拟机 IP 地址:步骤 4.3 获取的 NAT 模式 IP(如 192.168.182.128);

    • 虚拟机端口22(SSH 服务默认端口,不可修改,除非修改了 SSH 配置);

  8. 点击 确定 保存所有设置,重启虚拟机。

宿主机 VSCode 配置

安装 Remote-SSH 插件
  1. 打开 VSCode;

  2. 点击左侧扩展图标(快捷键 Ctrl+Shift+X);

  3. 搜索 Remote - SSH(微软官方插件,图标为蓝色电脑+SSH),点击安装,安装完成后重启 VSCode。

配置 SSH 连接
  1. Ctrl+Shift+P 打开命令面板,输入 Remote-SSH: Connect to Host,回车;

  2. 选择 Add New SSH Host(添加新的 SSH 主机);

  3. 输入连接命令(替换为你的虚拟机用户名和配置的主机端口):
    ssh 用户名@127.0.0.1 -p 2222示例:ssh oxythecrack@127.0.0.1 -p 2222127.0.0.1 代表宿主机本身);

  4. 选择保存配置文件的路径(默认路径即可,Windows 为 C:\Users\你的用户名\.ssh\config,macOS/Linux 为 ~/.ssh/config),点击确定。

连接虚拟机
  1. 再次按 Ctrl+Shift+P,输入Remote-SSH: Connect to Host,回车;

  2. 在弹出的列表中,选择刚添加的 127.0.0.1:2222 配置;

  3. 弹出系统选择窗口,选择 Linux(虚拟机系统类型);

  4. 输入虚拟机的登录密码(输入时不显示,输完回车即可);

  5. 连接成功后,VSCode 左下角状态栏将显示 SSH: 127.0.0.1,此时已进入远程开发环境。

相关推荐
AI浩2 小时前
第 5 章:集成开发环境 (IDE) 协作 —— 终端与编辑器的双剑合璧
ide·人工智能·编辑器
日出等日落2 小时前
用 Kavita实现我的远程数字书屋搭建记!
java·开发语言·ide·vscode·编辑器
守护安静星空3 小时前
ubuntu vscode 调试 at32f435vmt7基于AT32IDE
linux·运维·笔记·vscode·ubuntu
一见3 小时前
vscode等的“Go Team at Google”插件
ide·vscode·golang
IT大师兄吖4 小时前
faster-whisper 音频转字幕 懒人整合包
ide·macos·xcode
学编程的小程4 小时前
我的极空间 NAS 进阶玩法:开启 SSH,解锁私有云服务器新体验
运维·服务器·ssh
F1FJJ21 小时前
Shield CLI PostgreSQL 插件现已上架 VS Code 扩展市场
网络·vscode·网络协议·postgresql·开源软件
cnnews1 天前
手机通过Termux安装unbuntu,开启SSH
linux·运维·ubuntu·ssh
golang学习记1 天前
VS Code 1.113 发布:Agent 与 Chat 体验全面升级!
vscode·microsoft