1.配置Linux子系统ssh

先把win的ssh服务关了,因为Ubuntu20.04子系统自带的ssh服务无法连接,需卸载后重新安装。

卸载ssh服务

apt remove openssh-server

重装ssh服务

apt install openssh-server

修改配置

# /etc/ssh/sshd_config
Port 22
ListenAddress 0.0.0.0
PermitRootLogin yes
PasswordAuthentication yes

重启服务

service ssh restart

测试

ssh root@localhost

设置SSH自启动

# /etc/init.wsl
service docker start

编辑win注册表

\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
下添加一个REG_SZ 类型的值,名称自定义,值为:
mshta vbscript:CreateObject(“WScript.Shell”).Run(“wsl -d Ubuntu-20.04 -u root bash /etc/init.wsl”,0,TRUE)(window.close)

设置端口转发
wsl 子系统的ip并不是和Win公用的内网ip,所以需要将Win收到的请求转发到wsl子系统中
在linux子系统下ifconfig查看ip,在powershell中执行:

# ip用wsl子系统的ip替换,注意去掉中括号
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=[IP] connectport=22

添加防火墙入站规则
netsh advfirewall firewall add rule name=WSL2 dir=in action=allow protocol=TCP localport=22

Logo

更多推荐