小编Not*_*1ds的帖子

如何在同一台机器上从 Windows SSH 到 WSL

长期读者,第一次提问。

我按照此答案中的说明进行操作:

如何通过 SSH 连接到“Windows 10 上的 Ubuntu 上的 Bash”?

我正在尝试在同一台机器上的 Windows 中从 PuTTY 进行 SSH。使用与我的配置文件匹配的端口 22。尝试了 127.0.0.1 和 127.0.1.1。但是,我仍然收到“拒绝访问”的消息:

在此处输入图片说明

最终我希望建立一个 Visual Studio 远程构建,但到目前为止我根本无法远程进入。我应该采取哪些后续步骤?

Process Hacker 为端口 22 显示了这一点(不确定这意味着什么):

在此处输入图片说明

以下是 /etc/ssh/sshd_config 的内容:

# Package generated configuration file
# See the sshd_config(5) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey …
Run Code Online (Sandbox Code Playgroud)

ssh bash windows-10 windows-subsystem-for-linux

69
推荐指数
2
解决办法
13万
查看次数

Windows WSL2“发行版”只是底层的 docker 容器吗?

我在github上找到了这个文档:

WSL2 发行版作为容器运行

不过它已经有一段时间没有更新了,所以我想知道是否有人知道 Microsoft 是否已经发布了一份技术文档来描述 WSL2 发行版作为容器的实现。

windows documents docker windows-subsystem-for-linux wsl2

23
推荐指数
2
解决办法
7982
查看次数

WSL 中有哪个 Linux 内核?

我使用 Ubuntu 22.04 安装了 WSL 2。

当我尝试在 PowerShell 中检查 WSL 内核时,得到以下结果:

PS C:\Users\user> wsl --status
Default Distribution: Ubuntu-22.04
Default Version: 2

Windows Subsystem for Linux was last updated on 6/7/2022
WSL automatic updates are on.

Kernel version: 5.10.102.1
Run Code Online (Sandbox Code Playgroud)

从上面的消息中,我假设我使用的是 Linux 内核 5.10.102.1。

但是当我运行 Ubuntu 并使用 时uname -a,我得到了一个不同的 Linux 内核:

user@DESKTOP-:/mnt/c/Users/user$ uname -a
Linux DESKTOP-VMP6T3Q 4.4.0-19041-Microsoft #1237-Microsoft Sat Sep 11 14:32:00 PST 2021 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

其中表示 Linux 内核是 4.4.0。

我的问题:

  1. 我使用的是哪个版本的 Linux 内核?
  2. 如果是4.4.0,如何升级到5.x?
  3. 如果是5.10,我如何检查以确保它是该版本?

linux kernel ubuntu windows-subsystem-for-linux wsl2

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

WSL 停止响应

我已经使用安装了 WSL Ubuntu 20.04 LTS wsl --install -d ubuntu

但有时当我使用 Linux 很长时间后,它会停止响应并冻结。

Windows 版本:21H2。启用CPU虚拟化、Linux子系统和虚拟机平台。

windows-subsystem-for-linux

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

如何使用适用于 Linux 的 Windows 子系统运行 GUI 应用程序

我运行的是 Windows 10 计算机,并且最近安装了适用于 Linux 的 Windows 子系统。这通常会创建一个没有“显示”环境的单个终端。看起来 Tmux 可以用来获取多个终端,但这不允许您使用任何类型的图形显示。

我想通过 Windows Subsystem for Linux 打开 Linux 浏览器,例如 Firefox。

我尝试了这里的建议,但我收到错误:

no DISPLAY environment variable specified
Run Code Online (Sandbox Code Playgroud)

linux firefox windows-subsystem-for-linux

12
推荐指数
2
解决办法
5万
查看次数

更改 WSL 安装位置

我正在尝试在我的电脑 (Windows 10) 中安装适用于 Linux 的 Windows 子系统。我通过以管理员身份运行打开了“命令提示符”窗口,并wsl --install在不更改初始默认文件夹的情况下运行C:\Windows\system32。因此,WSL 默认安装在此位置。

后来,我通过转到Settings -> Apps & Features -> Windows Subsystem for Linux Update -> Uninstall卸载了 WSL 。

然后,我下载并安装了 WSL Update C:\users\myaccount。但是,当我从开始菜单运行 WSL 时,它仍然会转到C:\Windows\system32.

有没有办法将 WSL 安装的默认位置移动到C:\users\myaccount. 此外,我注意到从“设置” -> “应用程序和功能”C:\Windows\system32卸载 WSL 后,WSL 仍在文件夹中。

installation windows-subsystem-for-linux

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

WSL2 两个独立的 Centos 发行版具有相同的 eth0 inet 地址

使用 Windows Subsystem for Linux 2,我想运行两个单独的 Centos 7 实例,但是当我这样做时,两个实例都具有相同的 eth0 inet 地址。这就是我所做的......

我为我的基础创建了一个基础 Centos 7 tarball,然后创建了两个独立的发行版,它的外观和运行都如我所期望的那样;

    > wsl --import centos7-1 centos7-1 centos7.tar.gz --version 2
    > wsl --import centos7-2 centos7-2 centos7.tar.gz --version 2
    > wsl -l -v
      NAME                   STATE           VERSION
    * centos7-1              Stopped         2
      centos7-2              Stopped         2
    > ls
        Directory: C:\Users\me\centos
    Mode                 LastWriteTime         Length Name
    ----                 -------------         ------ ----
    d-----          4/8/2022  11:28 AM                centos7-1
    d-----          4/8/2022  11:29 AM                centos7-2
    -a----          4/8/2022  11:24 AM      174323670 centos7.tar.gz
Run Code Online (Sandbox Code Playgroud)

除了当我在单独的 PS 窗口中打开并运行每个发行版并ifconfig eth0在每个发行版中运行时,它们都显示相同的 …

windows-subsystem-for-linux wsl2

12
推荐指数
2
解决办法
4594
查看次数

在没有 Microsoft Store 的情况下更新 WSL 2

我安装了 WSL wsl --install,但现在迁移到 Windows 10 20H2 我想更新 WSL(例如使用 GUI 应用程序),但运行wsl --update失败

PS C:\WINDOWS\system32> wsl --update
Checking for updates...
Error: 0x8024500c
Run Code Online (Sandbox Code Playgroud)

如果您无法访问 Windows 应用商店,有人知道如何更新 WSL 吗?因为我使用的是公司笔记本电脑,所以这是禁止的。

windows-10 windows-subsystem-for-linux

12
推荐指数
3
解决办法
3万
查看次数

从网络上的另一台计算机通过 SSH 访问 WSL

我正在尝试使用 Windows 机器部署分布式系统。然而,我想在这个系统上编译和运行的代码应该在基于Linux的环境中得到编译。因此,我在所有节点上下载并安装了 WSL 和 Ubuntu。现在,我需要从控制器节点通过 SSH 访问工作节点。有什么办法可以做到吗?

ssh ubuntu windows-subsystem-for-linux

11
推荐指数
2
解决办法
3万
查看次数

如何启用服务以 WSL2 启动?

如何在 WSL2 启动时启动 OpenSSH 服务器等服务?目前,每次 WSL2 启动时我都必须重新启动它sudo service ssh start

windows-subsystem-for-linux wsl2

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