远程连接WSL2

WSL2开启SSH. 按照网上的教程1折腾了一下,据说自带的OpenSSH有问题,需要先卸后装 先配置一下源,看下/etc/os-release: PRETTY_NAME=”Ubuntu 22.04.3 LTS” NAME=”Ubuntu” VERSION_ID=”22.04″ VERSION=”22.04.3 LTS (Jammy Jellyfish)” 配置相应版本的源

先卸后装openssh

然后修改配置文件 ,这里还是用的密码登录,密钥的差不多处理

然后重启服务

新装的ssh可能不是默认开机自启的,顺便设置了

同样的,Windows上自带的OpenSSH(如果装了的话)也有问题,就是连不上,需要重新装一个或者用Xshell之类的软件来连接,或者参考2把环境变量里的ssh换成一个正常的(比如git bash自带的那个)。 然后应该可以在Windows上用powershell连接了

Windows端口转发 上一步只能保证本机连接到WSL,为了能在局域网甚至外网上进行连接,需要进行一些设置,主要分为两步:首先在Windows防火墙设置端口,给刚才设定的SSH端口2222添加入站规则,这部分参考3 ;然后是端口转发,这里有一个比较严重的问题,WSL2每次重启都会换IP,在网上4找了个powershell脚本,摘录如下(运行需要管理员权限)

可以把这个脚本命名forward_wsl2_port.ps1, 放进Windows计划任务开机自动执行。,具体操作是: 右键点win开始按钮,选择computer management,  选择Computer Management(Local) –> System Tools –> Task Scheduler –> Task Scheduler Library,  在Task Scheduler Library上右键,选择 Read more…