问题描述
早上来上班,突然发现使用主机的vscode的remote-ssh无法连接上wsl装的子系统(centos7)了,检查子系统运行情况并没有问题,纯粹是vscode连不上它:

报错提示
查看vscode的报错,关键词基本上是
Failed to parse remote port from server output
port22 connection refused
过程试图写入的管道不存在
错误排查
进入子系统使用ssh localhost命令查看ssh连接情况,确实是Connection refused的状态
# ssh localhost
ssh: connect to host localhost port 22: Connection refused
但是使用ss -lnt命令查看端口情况,port22是正确打开的

如果此处没有反应,如下:

可以运行sshd -t命令进行查错
之前碰到过因为ssh-key未生成而产生的无法正常运行sshd的情况,就是使用这一命令查出来的

ssh-keygen -A即可

解决过程
因此考虑SSH服务未安装的情况,进行如下命令
yum -y install openssh-server
service sshd start
重新进行ssh localhost指令,发现已经可以进行ssh连接了

在vscode中进行再次连接,连接成功了
总结
至今不知道为什么会突然出现这种情况,有可能跟vscode的自动更新有关,否则之前也没有在子系统里安装openssh-server为什么一直可以成功连接呢?
成功连接之后就可以继续使用vscode继续摸鱼了~
本文介绍了一个突发的VSCode通过Remote-SSH连接WSL中的CentOS子系统失败的问题,并详细记录了从发现问题到解决问题的过程。最终确定问题是由于SSH服务未正确配置导致。
2936

被折叠的 条评论
为什么被折叠?



