Windows 系统利用 SSH 和 WSL2 子系统当服务器

07-21 1772阅读

由于最近组内需要将一台 Windows 系统的电脑 W A W_A WA​ 转成能通过 SSH 访问,并且能用 Linux 命令当服务器运行。忙活了一天,终于是把全部东西弄通了。

安装 SSH

首先就是 W A W_A WA​ 先要安装 OpenSSH 服务,直接按照下面的教程安装即可:如何通过SSH远程连接到Windows系统指南,最好开启开机自启动。

安装好之后在另一台电脑上 W B W_B WB​ 用 ssh 访问,如果成功的话会显示如下的内容。

Windows 系统利用 SSH 和 WSL2 子系统当服务器

安装 WSL2

然后是要给 W A W_A WA​ 安装 WSL2,可以根据这篇博客安装:WSL2的安装与使用-Windows与Linux双系统的新选择。

直到用命令

     wsl -l -v

显示以下内容就说明安装完成。

Windows 系统利用 SSH 和 WSL2 子系统当服务器

用 SSH 服务软件进行连接

我们在 W A W_A WA​ 上查看 设置 — 关于,获取设备名称(注意,可能有一些设备不能用设备名称直接访问,只能通过 ip 地址)。假设你的设备名称是 DESKTOP-TMFN123,还有 W A W_A WA​ 开机时的账户名称 TMFN,以及密码 TMFN。

Windows 系统利用 SSH 和 WSL2 子系统当服务器

在 W B W_B WB​ 打开一款 SSH 的软件,比如 Termius,配置如下内容,填上设备名称/ip地址,账户,密码,就可以愉快进入命令行界面。

Windows 系统利用 SSH 和 WSL2 子系统当服务器

然后再键入

wsl

就可以进入 WSL2 子系统,完全当 Linux 系统使用。

Windows 系统利用 SSH 和 WSL2 子系统当服务器

Pycharm 连接

在 pycharm 的 ssh 配置如下内容,记得一定要将 authentication type 换成 openssh config,否则可能遇到无法连接的情况。

Windows 系统利用 SSH 和 WSL2 子系统当服务器

连接好之后,就能通过终端访问,一样键入 wsl 就可以进入 Linux 的模式。

联网问题

尽管如此,还是没办法愉快地使用 WSL2 进行代码开发,因为 WSL 默认还是不能联网的。也就是所有需要联网的命令,比如 ping www.xxx.com,conda create -n env_name python=3.X,pip install xx 都是没办法运行,严重影响开发体验。

比如 conda create 的时候,会遇到报错:

CondaHTTPError: HTTP 000 CONNECTION FAILED for url 

找了一圈,有说改 .condarc 的,还有其他的方法,但这和 WSL2 环境下的原因不匹配,实际上是 WSL2 没办法联网导致的。只有这个博客完美解决了 WSL2 的网络问题 WSL2莫名其妙的连不上网了。按照里面的命令一个一个运行,重启电脑 即可解决问题。

到这里 W A W_A WA​ 基本就可以充当一个 Linux 服务器以供开发使用了。

VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]