Xander's Blog

使用 VSCode 配置 VMWare 开发环境

字数统计: 505阅读时长: 2 min
2023/01/11

原文指路

背景

Windows10/11 已安装 VMWare,虚拟机为 Ubuntu(18.04/20.04),使用 VSCode Remote 远程开发。


获取虚拟机 IP 地址

1
ifconfig

返回:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.164.130 netmask 255.255.255.0 broadcast 192.168.164.255
inet6 fe80::526c:c8e0:32fd:f58d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:9d:3b:36 txqueuelen 1000 (Ethernet)
RX packets 1686384 bytes 1816940667 (1.8 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1825375 bytes 467308399 (467.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 50513327 bytes 5827766684 (5.8 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 50513327 bytes 5827766684 (5.8 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


其中第二行的 inet 即为 ip 地址。若未出现 ens33,参照 🔗


Powershell 远程登录

打开 Powershell,使用:

1
2
# format: ssh username@host
ssh xander@192.168.164.130

输入 ubuntu 密码即可登录。这样每次打开一个终端都需要输入密码,显然较为麻烦。

我们可以使用公钥进行免密码登录。首先在 win 中生成密钥对:

1
ssh-keygen

一路回车即可。生成的密钥文件将存储于C:\Users\username\.ssh中。其中id_rsaid_rea.pub分别为私钥和公钥,将后者移动到虚拟机的~/.ssh中,并使用以下命令重命名和重启 ssh 服务:
1
2
cat ./id_rsa.pub >> ~/.ssh/authorized_keys
systemctl restart sshd.service

如果第二个命令报错,一般是未安装 openssh,自己 google 一下吧。


VSCode 配置

首先安装 Remote - SSH 插件。
点击齿轮按钮,进入配置文件:

image.png

image.png

配置文件代码如下:

1
2
3
4
5
6
7
8
Host VMWare-Ubuntu20.04 # 自拟虚拟机名称
HostName 192.168.164.128 # IP 地址
# 下面三个用于 xming,不用管
ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes
User xander # ubuntu 用户名
IdentityFile "C:\Users\username\.ssh\id_rsa" # 私钥地址

打开命令面板,输入 Remote-SSH: Settings。勾选如下选项:

image.png

接下来就可以连接虚拟机啦!


参考资料

zhihu

CATALOG
  1. 1. 背景
  2. 2. 获取虚拟机 IP 地址
  3. 3. Powershell 远程登录
  4. 4. VSCode 配置
  5. 5. 参考资料