绝招:使用 VS Code 的“远程连接 (Remote-SSH)”功能
你不需要在物理机和虚拟机之间来回复制粘贴文件。通过 SSH 协议,VS Code 可以直接“穿透”到虚拟机内部。
具体怎么操作?我给你梳理了最清晰的步骤:
第一步:打通虚拟机的“大门”(SSH服务)
在你的 Ubuntu 虚拟机里,打开终端,输入以下命令(确保你的虚拟机网络是 NAT 或桥接模式):
- 安装 SSH 服务端:
sudo apt install openssh-server -y - 启动并设置开机自启:
sudo systemctl enable --now ssh - 查看虚拟机的 IP 地址:
hostname -I(记下这个 IP,比如192.168.xxx.xxx)
第二步:在物理机安装“桥梁”(Remote-SSH 插件)
- 打开你物理机上的 VS Code。
- 点击左侧的“扩展”图标,搜索并安装微软官方的插件:Remote – SSH。
- 安装好后,按
Ctrl+Shift+P打开命令面板,输入Remote-SSH: Connect to Host,选择Add New SSH Host。 - 输入连接命令:
ssh 你的虚拟机用户名@虚拟机IP(例如:ssh root@192.168.182.128),然后按提示保存配置。
第三步:开始无缝远程开发
再次按 Ctrl+Shift+P 连接你刚才添加的主机,输入虚拟机密码。连接成功后,你会发现 VS Code 左下角变成了绿色,显示 SSH: 你的IP。
此时,你点击 VS Code 里的“打开文件夹”,看到的就是虚拟机里的文件系统!你可以在物理机上直接修改虚拟机里的 SQL 注入靶场代码,改完保存,刷新浏览器就能看到效果。
⚠️ 一个重要的避坑提醒(NAT模式必看)
如果你发现物理机死活连不上虚拟机的 IP,大概率是因为你的 VMware 虚拟机使用的是 NAT 模式。在 NAT 模式下,虚拟机藏在私有网络里,物理机是看不见它的。
解决方法(端口转发):
- 关闭虚拟机,在 VMware 菜单栏点击
编辑->虚拟网络编辑器。 - 选中
VMnet8 (NAT模式),点击NAT 设置。 - 在“端口转发”里点击“添加”:
- 主机端口:填一个没被占用的,比如
2222 - 虚拟机IP地址:填你刚才查到的虚拟机 IP
- 虚拟机端口:填
22(SSH 默认端口)
- 主机端口:填一个没被占用的,比如
- 保存后重启虚拟机。
- 回到物理机 VS Code,连接命令改成:
ssh 用户名@127.0.0.1 -p 2222(注意这里 IP 变成了 127.0.0.1,端口是 2222)