使用 Linux 对 Windows 子系统进行 ssh "Connection timed out" 故障排除

Troubleshooting ssh "Connection timed out" with Linux for Windows subsystem

我正在接受 windows 10 教育,我需要配置远程访问。

我成功安装了 WSL2,Ubuntu 20.04 并且我遵循了本教程 https://www.illuminiastudios.com/dev-diaries/ssh-on-windows-subsystem-for-linux/

现在我可以使用 myusername@Ipv4 在本地连接了。

但它在另一个桌面上不起作用:“端口 22:连接超时”。我尝试从使用 VPN 连接到同一网络的两台计算机。

我不知道如何调试它。预先感谢您的帮助。

除了 sshd 配置不正确之外,我认为 WSL 和 WSL2 都只转发在本地主机上侦听的端口,导致远程连接无法访问它们(我在这里进行了类似的讨论)https://github.com/microsoft/WSL/discussions/4872#discussioncomment-76626

如果需要,您可以配置 netsh 为某些端口设置从 0.0.0.0(所有接口)到本地主机的端口转发,但我不知道头顶的语法。您可以在此处找到它的文档:

https://docs.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-interface-portproxy

不过请注意。 WSL2 将可以访问您的 Windows 文件系统,它不像普通虚拟化那样工作。如果您允许其他人进入您的 WSL2 机器,他们将能够在某种程度上读取和写入您的文件系统,这可能不是您想要的,并且通过 SSH 访问它很少是您想要的。