VSCode配置ssh连接本地wsl方法

1、首先需要安装插件Remote-SSH

VSCode配置ssh连接本地wsl方法_第1张图片

2、其次在wsl子系统中安装ssh服务并设置允许密码登入

3、开启ssh服务并查看wsl子系统的IP地址

4、返回vscode里面的Remote SSH插件,点击下图中的那个+号进行设置:

VSCode配置ssh连接本地wsl方法_第2张图片

首先输入的是连接名字 ,按enter键确认之后选择下图第一个,再enter确认

VSCode配置ssh连接本地wsl方法_第3张图片

进入这个config文件编辑,输入信息如下,其中Host是连接名称,是否改变随心意。HostName是wsl子系统的ip地址,User是需要登录的用户的名称,这两个需要视情况更改。

Host UbuntuChild
  HostName localhost
  User yimin

 一般而言,WSL每次重启之后的IP地址会变化,所以每次都需要对HostName进行更改。不过知乎大神说,可以直接使用固定的localhost(这玩意儿属于计网的知识)。

然后User 也是根据实际情况来定,登录进自己的wsl子系统就可以看到用户名,我的如下:VSCode配置ssh连接本地wsl方法_第4张图片

之后输入密码,就可以远程连接到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子系统版本,我的如下:

VSCode配置ssh连接本地wsl方法_第5张图片

完成替换之后,将上面的代码保存成bat文件之后用notepad++将其转为ANSI编码,即可避免bat文件打开的时候乱码。wt命令需要在微软商店安装Windows terminal这个软件,才会正常工作。 

VSCode配置ssh连接本地wsl方法_第6张图片

VSCode配置ssh连接本地wsl方法_第7张图片

 

 

你可能感兴趣的:(Ubuntu,vscode,ssh,ide)