同局域网ssh连接wsl2
简介
如果在Windows使用Ubuntu系统而不想使用虚拟机,wsl是一种不错的选择,提供了一个相对传统虚拟机还不错的功能,但是如果我们想远程这个wsl则是比较麻烦,这里主要介绍一下如何在同一个局域网下使用ssh连接wsl。
首先如果不是同局域网的电脑,可以选择zerotier,当然zerotier局域网服务器很卡,所有我们可以考虑自己使用卫星服务器组网,具体的教程可以看这个github仓库一分钟私有部署zerotier-planet服务,这个github仓库附带如何进行组网的教程,只需要你有一台带公网的服务器。
系统配置
我这里使用的是Ubuntu22.04系统,其实这个无所谓,你使用redhat、centos等Linux系统,只要能开启ssh服务就行,然后安装常规的配置系统就行,这些教程网上的很多。然后我们给wsl开启网络的镜像。
主要是就是在Windows中的C:\Users\<your_username>
目录下创建一个.wslconfig文件,然后在文件中写入如下内容
[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true
然后重启wsl就行,然后在开启了firewall = true的情况下,需要确保 Windows 防火墙允许外部设备通过 SSH 连接 WSL。
在 Windows 系统中,打开 “Windows Defender 防火墙”,选择 “高级设置”。
在 “入站规则” 中,查看是否有允许 SSH 连接(通常是端口 22)的规则。如果没有,可以通过 “新建规则” 来创建。在新建规则向导中,选择 “端口”,指定 SSH 端口(如 22),并设置允许连接,按照向导步骤完成规则的创建,使外部设备能够访问 WSL 中的 SSH 服务。
之后就可以连接了,如果是使用了zerotier,ssh的地址为zerotier分配的地址。