相关疑难解决方法(0)

如何从网络内的另一台计算机连接到 Linux 的 Windows 子系统?

我设置了 Ubuntu WSL 实例并在其上运行 SSH 服务器。但是,当我ifconfig在 Ubuntu 控制台上执行此操作时,我的 Ipv4 是172.26.66.223,这与我的常规计算机的 ipv4 192.168.0.248不同

虽然我可以使用ssh localhostssh 172.26.66.223从同一台计算机通过 SSH 连接到我的 WSL 实例,但使用ssh 192.168.0.248不起作用。当我尝试从同一网络上的另一台计算机进行操作时,ssh 172.26.66.223它说连接超时。

如何从网络上的另一台设备通过 SSH 连接到在我的 WSL 实例上运行的 OpenSSL 服务器?

这是我的网络信息:

在此输入图像描述

在此输入图像描述

networking linux ssh ubuntu windows-subsystem-for-linux

21
推荐指数
2
解决办法
4万
查看次数

localhost 和 127.0.0.1 工作但在 wsl windows 10 中不工作

我最近在 Windows 10 上从 Linux 切换到 WSL2 (Ubuntu 20.04)。当我运行任何 NodeJs 应用程序或 Apache 或 Nginx 等服务器时,一切都在 localhost 或 127.0.0.1 上正常工作,但当我使用本地 IP 地址时则无法工作( 192.168.1.65)。

运行 Node js 应用程序时的 netstat -tupln

我尝试过关闭 Windows 和 wsl 中的防火墙,但没有用。

我从“程序和功能”启用了 IIS,它似乎在 localhost 和 ip 上运行良好。所以,我认为这不是网络问题。

用于测试目的的 IIS

我读过的所有帖子都表明,如果可以通过 127.0.0.1 而不是通过 ip 访问该站点,那么您可以为 Apache 或 Nginx 配置服务器配置文件。但我重新安装了 wsl 并且仅通过 NodeJs / Express 进行托管。

Express 应用程序的 server.js 的代码是:

const express = require("express");
const next = require("next");

const port = parseInt(process.env.PORT, 10) || 3000;
const dev = process.env.NODE_ENV !== …
Run Code Online (Sandbox Code Playgroud)

linux ip localhost node.js windows-subsystem-for-linux

6
推荐指数
1
解决办法
2万
查看次数

在 Windows OpenSSH Server 中向 DefaultShell 添加参数(例如 powershell.exe -NoLogo)

我已经安装了 Windows OpenSSH 服务器并且工作正常。我可以将 ssh 的默认 shell 更改为使用HKLM:\SOFTWARE\OpenSSH并添加属性,如此DefaultShell所述。

因此,让我们使用默认示例,因为它在几乎所有具有“正常”C:\Windows路径的 Windows 安装上都按原样工作:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

现在假设我想向它添加一个参数,也许是“-NoLogo”。这只是一个例子。最终,我希望能够启动带有选项的 WSL 发行版。但现在,让我们简单一点:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoLogo" -PropertyType String -Force

这不仅不起作用,而且还会以奇怪的方式破坏登录。使用第一种方法(无参数),我在 ssh-agent 中的公钥被提供并接受。当我添加 时-NoLogo,我最终出现密码提示,但使用我的 Windows 密码失败。

跑步sshd.exe -ddd节目:

User not allowed because shell c:\\windows\\system32\\windowspowershell\\v1.0\\powershell.exe -nologo does not exist
Run Code Online (Sandbox Code Playgroud)

好的,所以这是行不通的,因为 OpenSSH 会检查以确保确切的DefaultShell字符串是可执行文件。

看到还有其他两个注册表设置,但似乎都不是我正在寻找的。人们可能会从它的名字中想到这里会有一些用处,但它只是传入命令DefaultShellCommandOption时 shell 所需的选项,例如:

ssh hostname ls …
Run Code Online (Sandbox Code Playgroud)

windows ssh powershell openssh sshd

6
推荐指数
1
解决办法
1782
查看次数