windows自带的ubuntu系统,修改ubuntu ssh端口号,以及登录提示:Protocol mismatch.

本文介绍了在Windows Subsystem for Linux (WSL) 中遇到SSH服务启动失败的问题,详细讲述了如何修改配置文件、解决密钥文件缺失以及网络冲突,并提供了重新安装和重启SSH服务的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

适用于 Linux 的 Windows 子系统(英语:Windows Subsystem for Linux,简称WSL)是一个为在Windows 10和Windows Server 2019上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。

vim /etc/ssh/sshd_config
修改如下四条配置项,不存在的需要添加

Port 8022 #默认的是22,但是被windows自己的ssh服务占用
UsePrivilegeSeparation no
PasswordAuthentication yes
ListenAddress 0.0.0.0

修改结果如图所示

在这里插入图片描述

重启ssh服务
service ssh restart
有时候可能查看服务显示已经起来,但就是无法登录,重启sshd服务也无法登录
提示 :

Protocol mismatch.
Connection closed by foreign host
在这里插入图片描述

原因:

WSL的网络,作为子系统的Ubuntu Linux和Windows主系统的IP是一样的。如果在Linux上搭建了Nginx服务器,那么在Windows上的浏览器上输入localhost是可以访问Nginx服务的。如果在Linux上运行netstat -nlp是不会看到任何端口服务的。在Linux上启用端口服务的时候,Windows系统会弹出窗口,询问是否允许相关端口访问。

WSL上的Ubuntu默认安装了openssh-server,也就是ssh服务的软件。但是,这个软件的 配置是不完整 的,如果启用服务,会报缺失几个密钥文件。为了解决这个问题,我们需要重新安装openssh-server:

sudo apt remove openssh-server
sudo apt install openssh-server
重启服务即可
sudo service ssh restart

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值