🟢使用 SSH 连接远程计算机 WSL2 的最简单方法

无需设置端口转发,从 Windows 10 开始,系统自身就已经可以安装 SSH 服务了。因此,远程计算机可以直接使用 SSH 连接 Windows。默认情况下,Windows 使用 PowerShell 作为 shell 工具。但是,我们可以将默认的 PowerShell 替换成 WSL2 的 Bash,从而更加简便地解决远程连接 WSL 的问题。

检查并安装 OpenSSH Server

在 WSL2 所在的计算机上,打开 Windows 环境中的 PowerShell,并以管理员身份执行以下命令,查看 OpenSSH Server 是否被安装:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

输出示例:

Name  : OpenSSH.Client~~~~0.0.1.0
State : Installed

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

如果 OpenSSH.Server 显示未安装(NotPresent),则执行以下命令进行安装:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

启动 SSHD 服务

安装完成后,启动 sshd 服务,可以手动启动,也可以设置成自动启动:

手动启动

Start-Service sshd

设置成自动启动

Set-Service -Name sshd -StartupType 'Automatic'

查看服务状态

替换默认 Shell 为 WSL2 的 Bash

使用以下命令替换掉 SSH 服务默认的 Shell:

如此一来,就可以使用 SSH 直接远程连接这台计算机了。用户名密码登录成功后直接进入 WSL2 的 Bash 界面。

注意:由于这里是直接连接 Windows 下的 SSH Server,所以 SSH 使用的用户名和密码也是 Windows 的用户名和密码。

配置 WSL 默认用户

第一步

在 WSL 的 root 用户下,用 vim 打开 /etc/wsl.conf 文件:

第二步

在文件中添加以下代码,仅需将 user_name 替换成你原来 WSL 的用户名即可:

例如:

重启 WSL

在 PowerShell 下输入:

这样就完成了配置,可以使用 SSH 连接到 WSL2 了。

Last updated