1、首先需要安装插件Remote-SSH
3、开启ssh服务并查看wsl子系统的IP地址
4、返回vscode里面的Remote SSH插件,点击下图中的那个+号进行设置:
首先输入的是连接名字 ,按enter键确认之后选择下图第一个,再enter确认
进入这个config文件编辑,输入信息如下,其中Host是连接名称,是否改变随心意。HostName是wsl子系统的ip地址,User是需要登录的用户的名称,这两个需要视情况更改。
- Host UbuntuChild
- HostName localhost
- User yimin
一般而言,WSL每次重启之后的IP地址会变化,所以每次都需要对HostName进行更改。不过知乎大神说,可以直接使用固定的localhost(这玩意儿属于计网的知识)。
然后User 也是根据实际情况来定,登录进自己的wsl子系统就可以看到用户名,我的如下:
之后输入密码,就可以远程连接到wsl子系统进行开发了。
另外,简书上还有个大神给了个wsl固定ip的脚本,我自己在实践过程中,总结了以下少许经验:
- @echo on
- Rem 先关闭wsl子系统
- wsl --shutdown
-
- Rem 这是一个启动脚本
- wsl -d Ubuntu-22.04 -u root ip addr del $(ip addr show eth0 ^| grep 'inet\b' ^| awk '{print $2}' ^| head -n 1) dev eth0
- wsl -d Ubuntu-22.04 -u root ip addr add 192.168.60.2/24 broadcast 192.168.60.255 dev eth0
- wsl -d Ubuntu-22.04 -u root ip route add 0.0.0.0/0 via 192.168.60.1 dev eth0
-
- powershell -c "Get-NetAdapter 'vEthernet (WSL)' | Get-NetIPAddress | Remove-NetIPAddress -Confirm:$False; New-NetIPAddress -IPAddress 192.168.60.1 -PrefixLength 24 -InterfaceAlias 'vEthernet (WSL)'; Get-NetNat | ? Name -Eq WSLNat | Remove-NetNat -Confirm:$False; New-NetNat -Name WSLNat -InternalIPInterfaceAddressPrefix 192.168.60.0/24;"
-
- Rem 启动ubuntu22.04子系统
- wt -p Ubuntu-22.04
上述代码将wsl子系统的IP地址固定为了192.168.60.2,可自定义。其中的Ubuntu-22.04这个也是个视情况而定的字符串,具体根据实际情况需要进行替换,一般使用wsl --list命令就可罗列出自己安装的wsl子系统版本,我的如下:
完成替换之后,将上面的代码保存成bat文件之后用notepad++将其转为ANSI编码,即可避免bat文件打开的时候乱码。wt命令需要在微软商店安装Windows terminal这个软件,才会正常工作。