日期: 2024-11-30 主题: VMware 网络模式与 VSCode Remote-SSH 配置
虚拟机装好了,今天的目标是配置网络,让 Mac 能通过 SSH 连接到虚拟机,然后用 VSCode 进行远程开发。
VMware 创建的虚拟网络接口:
物理主机 (Mac)
├── VMware
│ ├── bridge100 (192.168.239.1)
│ │ └── vmnet0 (桥接模式)
│ └── bridge101 (192.168.110.1)
│ ├── vmnet1 (仅主机模式)
│ ├── vmnet2
│ └── vmnet3
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 桥接 (vmnet0) | 虚拟机直接连接物理网络,获得独立 IP | 需要从外部访问虚拟机 |
| NAT (vmnet8) | 通过主机 NAT 访问外网 | 只需要虚拟机上网 |
| 仅主机 (vmnet1) | 只能和主机通信 | 隔离的测试环境 |
我选择了仅主机模式,因为只需要 Mac 和虚拟机之间通信,不需要虚拟机连外网。
- 虚拟机内安装 SSH 服务器:
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh- 查看虚拟机 IP:
ifconfig
# 或者
ip addr- 从 Mac 连接:
ssh mu@192.168.110.130首次连接会提示确认指纹,输入 yes 即可。
配置 VSCode Remote-SSH 扩展后,可以直接在本地 VSCode 里编辑虚拟机上的文件。
优势:
- 本地编辑器的完整功能(代码补全、语法高亮等)
- 终端集成,直接在 VSCode 里执行远程命令
- 文件树直接浏览远程目录
配置完成后,开发体验和本地项目几乎一样,但代码实际运行在虚拟机的 Linux 环境里。
在虚拟机里配置 Python 环境:
# 安装 pip
sudo apt install python3-pip
# 安装编译依赖(某些包需要)
sudo apt install python3-dev build-essential
# 安装项目依赖
pip3 install -r requirements.txt今天把远程开发环境搭好了,感觉比想象中顺利。
一开始纠结用哪种网络模式,后来想清楚了:我只需要 Mac 能连虚拟机就行,不需要虚拟机上网,所以仅主机模式最简单。选择技术方案要从实际需求出发,不是功能越多越好。
VSCode Remote-SSH 真的好用。之前我以为远程开发肯定要各种 scp 同步文件、开多个终端窗口,结果这个扩展把这些都自动化了。现代开发工具确实能大幅提升效率,值得花时间去了解。
- SSH 密钥认证配置(避免每次输密码)
- SSH config 文件配置多个主机
- VSCode Remote-SSH 高级配置
- 端口转发和隧道技术