如何Ttace 通过SSH 访问 window11 WSL2 Ubuntu系统

472 阅读2分钟

问题描述:

本人Windows 11 家庭中文版系统从Microsoft Store中安装Ubuntu系统

WSL2的镜像网络模式:

安装docs.trae.ai/docs/ssh-re… 程序下面错误

初步定位:

ping 192.168.3.26 ip没有问题

telnet 192.168.3.26 22

正在连接192.168.3.26...无法打开到主机的连接。 在端口 22: 连接失败

解决步骤:

  • Win11将WSL做SSH服务器,实现通过局域网SSH远程连接到WSL
sudo apt install openssh-server

sudo vim/etc/ssh/sshd_config
取消注释 #Port 22 行以指定SSH端口(默认为22)。
取消注释 #PasswordAuthentication yes 行以允许密码认证。

# 启动ssh密钥登录
RSAAuthentication yes
PubkeyAuthentication yes

sudo service ssh start
  • Mirror模式下WSL2的SSH远程连接

WSL2 环境信息:

首先,在C://User//.wslconfig文件中,通过以下方式进行设置就会得到镜像模式的WSL。

[wsl2]
networkingMode=mirrored
[experimental]
hostAddressLoopback=false
hostAddressLoopback**布尔FALSE仅当 wsl2.networkingMode 设置为 mirrored 时才适用。 如果设置为 True,将会允许容器通过分配给主机的 IP 地址连接到主机,或允许主机通过此方式连接到容器。 始终可以使用 127.0.0.1 环回地址,此选项也允许使用所有额外分配的本地 IP 地址。 仅支持分配给主机的 IPv4 地址。

如果不开启hostAddressLoopback 则无法在镜像模式下从外部访问到wsl。包括在windows WSL主机中,也同样无法依靠访问到wsl。但是如果将修改为localhost则可行。

优势

  • IPv6 支持

  • 使用 localhost 地址 127.0.0.1 从 Linux 内部连接到 Windows 服务器。

  • 不支持 IPv6 localhost 地址 ::1

  • 改进了 VPN 的网络兼容性

  • 多播支持

  • 直接从局域网 (LAN) 连接到 WSL

通过localhost可以直接访问

设置 SSH 通过密钥登录

cd .ssh

touch authorized_keys

chmod 600 authorized_keys

window测试连接wsl2通过

ssh money@127.0.0.1 //连接到window11 安装的 wsl主机 Ubuntu 20.04+

结果: trae配置

Host 127.0.0.1
  HostName 127.0.0.1
  User money
  ForwardAgent yes

[experimental] hostAddressLoopback=true

结果 连接不上