我设置了我的 Ubuntu WSL 实例并在其上运行 SSH 服务器。但是,当我ifconfig
在 Ubuntu 控制台上执行操作时,我的 Ipv4 是172.26.66.223,这与我的常规机器的 ipv4 192.168.0.248不同
虽然我可以使用ssh localhost
或ssh 172.26.66.223
从同一台机器通过 SSH 连接到我的 WSL 实例,但使用ssh 192.168.0.248
不起作用。当我尝试ssh 172.26.66.223
从同一网络上的另一台计算机上进行操作时,它说连接超时。
如何从网络上的另一台设备通过 SSH 连接到在我的 WSL 实例上运行的 OpenSSL 服务器?
这是我的网络信息:
您需要运行以下命令:
来源:从局域网 (LAN) 访问 WSL 2 发行版
由于您的 WSL2 地址在每次重新启动时都会更改,因此您需要转发到的地址每次都会更改。如果您使用 Microsoft 文档中描述的“转发”方法,您将需要:
wsl --shutdown
)注意:以下内容适用于已发布的 WSL 版本。但是,Windows 11 的“预览”版 WSL 目前在
wsl
通过 SSH 启动命令时存在错误/限制。我的偏好是改为在Windows中运行 SSH 服务器(它现在已经内置到 Windows 10 和 11 中——请参阅安装说明)。配置完成后,您可以轻松地通过 SSH 连接到 WSL 会话:
这也为您提供了更多控制权,例如以 root 身份远程登录的能力:
或不同的分布:
此答案中有更多选项(不需要转发)。
老实说,我以前从未听说过 WSL,但根据我的经验(没有阅读任何关于 WSL 的内容,但我对 Linux 和 Windows 了解很多),你正在做的事情似乎很难。为什么要在 Linux 端配置它。我假设您可以在 Windows 中看到 WSL 网络驱动程序,如果可以,请做两件事。1)通过按住控制并单击它们两个,然后右键单击其中一个并单击“桥接”,将该网络与您的互联网连接桥接,然后 2)尝试将驱动程序中分配的 IP 地址更改为子网 192.168.1.200 上的一个例如。此时,您应该可以直接 ssh 到 192.168.1.200。如果我在这里有错误的程序,我很抱歉,我已经过了一分钟,但因为我没有看到“使用 Windows 进行配置”