Vic*_*748 21 networking linux ssh ubuntu windows-subsystem-for-linux
我设置了 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 服务器?
这是我的网络信息:
Ram*_*und 18
您需要运行以下命令:
netsh interface portproxy add v4tov4 listenport=4000 listenaddress=0.0.0.0 connectport=4000 connectaddress=192.168.0.248
Run Code Online (Sandbox Code Playgroud)
由于您的 WSL2 地址在每次重新启动时都会发生变化,因此您需要转发到的地址每次都会发生变化。如果您使用 Microsoft 文档中描述的“转发”方法,您将需要:
wsl --shutdown
)更新说明:以下内容将不再适用于从 Microsoft Store 安装的最新 WSL 版本。出于历史目的,将其保留在此处,以防 SSH 功能最终在较新的 WSL 版本中得到修复。
我的偏好是在Windows中运行 SSH 服务器(无论如何,它现在内置于 Windows 10 和 11 中 - 请参阅安装说明)。配置完成后,您可以使用以下命令轻松通过 SSH 进入 WSL 会话:
ssh -t 192.168.0.248 "wsl ~"
Run Code Online (Sandbox Code Playgroud)
这还为您提供了更多的控制权,例如以 root 身份远程登录的能力:
ssh -t 192.168.0.248 "wsl ~ -u root"
Run Code Online (Sandbox Code Playgroud)
或者不同的发行版:
ssh -t 192.168.0.248 "wsl ~ -d Debian"
Run Code Online (Sandbox Code Playgroud)
此答案中有更多选项(不需要转发)。
归档时间: |
|
查看次数: |
37121 次 |
最近记录: |