安装 wsl 并配置 xshell 连接 wsl
Posted 一见如故的人
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安装 wsl 并配置 xshell 连接 wsl相关的知识,希望对你有一定的参考价值。
首先 win+x -> 设置 -> 更新和安全 -> 开发者选项 -> 开发者模式
然后 win+r -> 输入control -> 程序 -> 启用或关闭Windows功能 -> 适用于 Linux 的 Windows 子系统
登陆:https://docs.microsoft.com/en-us/windows/wsl/install-manual
Downloading distros
win+s -> PowerShell -> 管理员模式运行 -> Add-AppxPackage .app_name.appx(对应路径下的zip包) -> Update to WSL 2
Update to WSL 2
-> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Restart your machine to complete the WSL install and update to WSL 2.
-> wsl --set-default-version 2
具体请参考 如何更新 wsl2:https://docs.microsoft.com/en-us/windows/wsl/install-win10#update-to-wsl-2
然后登陆自己wsl,我下载的 ubuntu 20.04 LTS,所以以这个为例。
设置 username 和 passwd 不用多说。
1、更改源为 阿里云
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak #备份下原有的源
sudo vim /etc/apt/sources.list
:%s/archive.ubuntu.com/mirrors.aliyun.com/g # 全局替换
sudo apt-get update && sudo apt-get -y upgrade # 更新包并且升级包
2、xshell ssh 连接 wsl
sudo apt-get remove openssh-server # 卸载自带的 ssh
sudo apt-get install openssh-server # 再次安装
vim /etc/ssh/sshd_config
添加如下:
Port 2222 # 默认的是22,但是windows有自己的ssh服务用的也是22端口,修改一下
UsePrivilegeSeparation no
PasswordAuthentication no # 默认为no 我们使用 ssh秘钥对登录,所以使用默认no
sudo service ssh --full-restart # 重启ssh服务
sudo -i #可直接进入 root用户
ssh-keygen #生成 ssh秘钥和公钥 一路回车
cp /mnt/c/Users/用户名/.ssh/id_rsa.pub /root/.ssh/authorized_keys
此后就可以使用 xshell 连接 wsl 了,连接ip:localhost ,port:22222
------------------------------------接下来设置开机自启动 wsl 的 sshd 服务 ---------------------------------------
在 wsl 中编辑 脚本:
vim /etc/init.wsl
内容如下:
#! /bin/bash
/etc/init.d/cron $1 # 定时服务,$1 表示 命令后的第一个参数 {start-stop-restart}
/etc/init.d/ssh $1 # ssh 服务,$1 表示 命令后的第一个参数 {start-stop-restart}
chmod 774 /etc/init.wsl
win+r -> shell:startup
在自启动目录下编辑脚本:ubuntu2004.vbs
内容如下:
# 表示创建一个 cmd窗口的对象 ws,以wsl 命令来启动 wsl中的 /etc/init.wsl 脚本,具体可 wsl --help 来查看如何使用
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d Ubuntu-20.04 -u root /etc/init.wsl start", vbhide
以上是关于安装 wsl 并配置 xshell 连接 wsl的主要内容,如果未能解决你的问题,请参考以下文章
WSL_01 Windows WSL 安装并配置镜像与SSH