解决 xshell 无法连接win10 、win11的linux子系统

发布时间:2023-10-08 12:46:23 作者:yexindonglai@163.com 阅读(1666)

问题描述

在windows的应用商店下载了ubuntu 22.04.2 版本,但是在使用的过程中发现windows主机和子系统的ubuntu的网络是不通的,也就无法通过xshell连接;

xshell连接信息如下

解决

1、前置、设置root登陆、更新内核

1.1、以root登陆

正常情况下,在微软的软件商店安装好ubuntu后,第一次进入系统都会让你先设置一个账号,而这个账号权限是有限的,假如我们想要管理员权限的话,就必须用root方式登陆,那么我们就可以用以下方式来达到用root登陆的目的;
以管理员身份运行power shell,执行下面命令:

  1. # 22以下版本
  2. ubuntu2004.exe config --default-user root
  3. # 22以上版本
  4. ubuntu2204.exe config --default-user root

不管你下载的是哪个版本的ubuntu,这里就是ubuntu2004.exe,此时关掉ubuntu的窗口,再打开就是root登陆后的页面了;但是目前这个root是还没设置密码的,所以我们需用以下命令设置密码,回车后会让你输入2次密码;以确保你的密码是正确的;

  1. passwd

1.2、更新内核

这个最好操作下,不然有可能出现安装软件报错,或者防火墙无法使用的情况;

  1. apt-get update -y
  2. apt-get upgrade -y

2、开放端口

因为xshell连接的是22端口,所以一定要先开放,每个系统开放端口的方式都不一样,以下是使用ufw工具

  1. # 查看所有已经开放的端口
  2. ufw status
  3. # 开放22端口
  4. ufw allow 22
  5. # 开放 80 端口的tcp协议,此时如果使用udp协议是无法连接的
  6. # ufw allow 80/tpc

3、设置sshd

先安装openssh

  1. apt-get install openssh-server -y

设置 ssh

  1. vim /etc/ssh/sshd_config

在文件内加上以下几个配置

  1. # ssh的连接端口
  2. Port 22
  3. # 监听所有地址
  4. ListenAddress 0.0.0.0
  5. # 是否运行root登陆
  6. PermitRootLogin yes
  7. # 是否允许密码授权的方式登陆
  8. PasswordAuthentication yes

重启ssh

  1. sudo service ssh stop
  2. sudo service ssh start
  3. 或者
  4. sudo service ssh reload

设置 SSH 服务开机自启动,可以使用以下命令:

  1. sudo systemctl enable ssh

44、设置windows功能

打开 windows 功能,win10在 Hyper-V 和 windwos虚拟监控程序平台打上勾即可,设置完记得重启;

win11需要开启 适用于Linux的Windows子系统 和 虚拟机平台

关键字linux