WSL2安装

Windows安装WSL2 Ubuntu

Abstract
本文主要是介绍界面版的操作,如果你的公司网络策略或管理员不允许在你的环境内下使用Microsoft Store,本身可以用WSL,但是需要本地下载。
Tip

本文详细介绍了如何在Windows10中使用WSL2,包括启动子系统和虚拟机平台的设置,WSL2版本切换,以及WSL的初始化,openSSh-server启动等操作。

WSL2 安装步骤

WSL2(Winodws Subsystem for Linux)是微软公司开发的一项创新性技术,它在Windows操作系统上提供了一个完整的Linux内核,并允许用户在Windows环境中运行Linux发行版。很早之前在Windows上使用Linux系统必须先安装VitualBox或VMWare,然后再安装Linux发行版,现在可以先安装WSL再安装Linux发行版,更少的内存占用,文件操作也更方便。

1. 启动子系统和开发者选项

启动计算机的开发者模式和Linux的Windows子系统

  • 开发者模式开启:Windows开始键盘—-更新和安全—-开发者选项—-开发人员模式(开启)

  • 搜索栏搜(控制面板)—-程序—-程序和功能—-侧边启用或关闭Windows功能—-适用于Linux的Windows子系统

开发者模式

Linux子系统
Figure 1

2. 安装Linux

本步骤使用图形界面进行安装,没有使用命令行模式进行安装

在Windows中搜索Microsoft Store, 点击进入界面,可以搜索Ubuntu或者Linux,会出来不同版本的Ubuntu Figure 2, 这里选择的是Ubuntu20.04 LTS版本,点击下载等待即可。

Caution

如果网络被限制,此处可能会无法正常下载,就需要自行下载安装

Linux

Ubuntu 20.04
Figure 2
LTS版本和普通版本区别
项目 LTS 版本(如 20.04) 非 LTS 版本(如 20.10)
发布频率 每两年 每六个月
支持时间 5年(可扩展到10年) 9个月
稳定性
软件更新 稳定但较慢 快速、可能不稳定
适用场景 企业、服务器、长期使用 桌面测试、新技术体验

3. Ubuntu设置

在Ubuntu点击下载安装之后,会自动启动进入安装界面 经过几分钟的等待之后,Ubuntu就可以安装好,进入设置流程

  • UNIX username
  • New Password
  • Retype new password
Tip

Linux安全模式,输入密码是不显示位数的

Linux设置

Linux设置

在Windows系统文件夹中查看Ubuntu系统文件

如图 Figure 4 显示的,在文件查找栏中输入 \\wsl$ 即可跳转到WSL2的Ubuntu子系统,点击即可查看Ubuntu系统文件,默认进入的是根目录

Figure 3: WSL2

4. 开启OpenSSH-server

  1. 系统升级是必须做的

Ubuntu初级安装之后很多lib是没有的,需要进行系统补丁的维护和lib的安装。

Important

如果没有科学上网,就需要更换比较快的镜像源,国内很多镜像源可以更换,在/etc/apt/source.list 更换即可,记得要先进行备份

在Ubuntu中输入下面的命令

sudo apt-get update
sudo apt-get upgrade

新启动的可能需要加载更新较久

  1. 重新安装openssh-server

先将原始的卸载掉,再安装新的openssh-server,sudo 使用到超级权限,一开始设置就是自己为自己的root

sudo apt-get remove openssh-server
sudo apt-get install openssh-server
  1. 配置ssh_config.d文件

重新安装好openssh-server后,进行设置文件的修改,主要是开通权限

sudo vim /etc/ssh/sshd_config
Tip

vim是Ubuntu的文本编辑器,相当于windows中的文本记事本一样,进入config文件后,找到下图 Figure 4 中所标的位置,键盘按 i,进入编辑模式,修改即可;修改好之后按 Esc,再按:, 输入wq}(意味着保存文件修改并退出当前文档)

openssh-No

openssh-yes
Figure 4
  1. 生成密钥

SSH密钥对安全强度远高于常规用户密码,且从公钥逆向推出私钥的难度极高,可以杜绝暴力破解威胁。 通过使用SSH密钥对,可以实现免密登录,直接使用私钥通过SSH命令或相关工具登录目标实例。 支持登录多台Linux实例,更加方便地管理.

ssh-keygen -t rsa
  • ssh-keygen:生成 SSH 密钥对的命令
  • -t rsa:指定密钥类型为 RSA(默认 3072 或 4096 位)

默认生成两份文件

文件 说明
~/.ssh/id_rsa 私钥,必须保密
~/.ssh/id_rsa.pub 公钥,可以放在远程主机的 ~/.ssh/authorized_keys

输入后一直按Enter 键即可完成创建

启动openSSH-server

sudo service ssh start

5. 远程连接WSL

终端启用了Ubuntu,有很多的不方便,文件也不易传输,下载过久之后会出现卡断的现象,这个时候就需要远程连接Linux,使用各种方式都可以完成远程连接。

  • 能够随时随地访问计算机(只要计算机不关)
  • 安全性高,SSH公钥认证避免密码泄露风险
  • 支持远程控制
  • 稳定运行,长期在线,易于管理,易于传输文件等

常见的工具组合

工具/协议 用途
SSH/Xshell 远程终端连接
SFTP/WinSCP/Xftp 文件传输
VS Code + Remote SSH 插件 远程开发
Git 代码版本管理
Docker 应用容器化部署
systemd/crontab 服务与任务自动管理

远程连接Linux服务器主要是通过 SSH(Secure Shell) 协议,这里使用的是Windows下面无需安装的MobaXterm平台,选择下载不安装免费版本即可,下载之后解压,点击进入文件夹,双击MobaXterm即可进入界面。

按照下图选择Session—-SSH—-Remote host输入(127.0.0.1)—-Specify username输入自己之前设置的Unix name—-点击OK,就提示输入密码即可进入终端

6. WSL开源

微软最近几年态度非常的open,开源了很多大的项目,看来开源是推动进步的主要因素,当然也有卷的缘故,但是无论怎么样,开源是好事情。

有感兴趣的各位可以去GitHub上自行了解学习,github链接 https://github.com/microsoft/WSL?tab=readme-ov-file