Win10子系统Ubuntu-18.04

windows subsystem for linux简称WSL。使用原生安装方便快捷,无需再安装虚拟机,从安装到运行最全教程,并开启SSH开机自启,用xshell终端连接。

1. 开启Linux子系统环境

打开所有设置 -> 应用 -> 程序和功能 -> 启动或关闭Windows功能 -> 勾选适用于Linux的Windows子系统 -> 重启电脑

2. Microsoft Store安装Ubuntu

打开Microsoft Store应用商店,搜索Ubuntu-18.04,下载完成之后。点击图标打开,进行安装。

在出现需要输入username的时候,就已经安装完成了,可以选择创建自己的用户名。但是我不想创建用户,想直接用root用户,怎么办呢?

很简单,在Microsoft Store应用商店搜索Windows Terminal下载并打开。点击下箭头,选中Ubuntu-18.04。就自动以root用户登录了。


这个时候,我们就可以自己设置root的密码,输入命令:

1
2
3
4
5
--设置root账号密码。根据提示输入两次密码即可设置成功。
sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

通过Windows Terminal终端其实就已经满足我们的连接需求了,但是想通过自定义的终端软件连接怎么操作呢?继续往下瞧,我拿Xshell举例。

3. 配置openssh-server

卸载重装一遍ssh服务(防止子系统openssh组件不完整)

首先先执行 apt-get update 更新源信息,再操作安装

1
2
3
# 中间确定选 “Y”
apt-get remove openssh-server
apt-get install openssh-server

编辑sshd_config文件(只需修改这三项就行)

1
2
3
4
vim /etc/ssh/sshd_config
Port 2222 #设置ssh的端口号, 默认22,但22在windows中可能会端口冲突
PermitRootLogin yes # 可以root远程登录
PasswordAuthentication yes # 密码验证登录

执行重启ssh服务

sudo service ssh –full-restart

Xshell连接


输入root账号密码,登录成功!!! 大功告成

注意事项

有一个问题:电脑关机重启之后,xshell就会连接不上。

这是因为Window子系统的SSH是默认关闭的,电脑关机或重启之后,子系统的SSH又会自动关闭,所以需要设置自动启动脚本

编写vbs自启ssh脚本

输入 Win + R 打运行窗口输入 shell:startup 进入Windows自启目录,在这个目录新建一个 openssh.vbs 文件(文件名称随意,后缀名是.vbs)

文件内容如下两行

1
2
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d Ubuntu-18.04 -u root /etc/init.d/ssh start", vbhide

保存文件之后,双击执行,如果没有报错,再用xshell重新连接发现就可以了。

如果报错了,检查一下文件的编码是不是ANSI,改编码再保存一下就可以了