WSL2 里面的 ssh 服务可真特么坑爹啊!

2022-11-10 20:44:28 +08:00
 jiangwei2222

环境:win11 wsl2 ubuntu22.04

正常开启 ssh 服务后,使用 windows 自动的端口转发功能,将 ubuntu ssh 端口转发到本机以便外网访问。一通操作以后发现本地能连接但是局域网内的其他机器始终提示 "Connection reset by peer"。然后我又尝试telnet xxxx 22,结果竟然连通了,不仅连通了,还正常返回了服务端 ssh 版本。我就纳闷了,telnet 都能连通,都能正常返回,为毛 ssh 命令就连不通呢。

于是经过漫长的排查,又是抓包又是改防火墙,折腾了一天都找不到原因。就在我即将放弃的时候,无意中看到一篇博客里面提到一句话“wsl 中已经安装的 ssh 是不完整的或者有问题的,所以无论你怎么改都不会生效,甚至 ssh 服务都无法正常启动,正确的做法是先卸载 ssh 再重新安装。”,我尼玛人傻了,这也行???于是我删掉自带的 ssh 服务,重装 ssh 服务,特喵的连接立马正常了。我尼玛,不带这么坑人的吧???

4597 次点击
所在节点    Windows
16 条回复
Neol
2022-11-10 20:55:48 +08:00
老哥怎么自动转发,我之前用的脚本现在有个服务获取不到 wsl 的 ip 了没法用了(
albert0yyyy
2022-11-10 20:59:09 +08:00
其实可以去搜搜文章先,我看过的每篇 wsl2 的文章都有讲重装 ssh 的,当然 wsl2 有的地方确实很坑
jiangwei2222
2022-11-10 20:59:50 +08:00
@Neol #1 现在 wsl2 可以用 localhost 访问,直接转发到 localhost 就行了。比如

netsh interface portproxy add v4tov4  listenaddress=* listenport=22 connectaddress=localhost connectport=22
jiangwei2222
2022-11-10 21:01:32 +08:00
@albert0yyyy #2 确实基本上命令里面都有写删除 ssh ,但是我从没想到会有这么个坑呀。操作的时候直接就跳过这一步了
chihiro2014
2022-11-10 21:12:50 +08:00
docker desktop 可行?
chenliang0571
2022-11-10 21:37:16 +08:00
局域网内可以的,我就在在用。
老 mac ssh X11 远程到新机器的 wsl2 intellij 。
Neol
2022-11-10 21:44:00 +08:00
@jiangwei2222 我这倒是似乎有点问题,无论怎么设置都会出现"kex_exchange_identification: Connection closed by remote host", 似乎是没有转发成功
1ver
2022-11-10 21:57:02 +08:00
我之前也搞过 wsl2 的外网访问,除了重装还需要配置下[ssh 开机自启和 wsl2 在 windows 开机时自启]( https://xdo0.github.io/2022/03/22/wsl%E4%BD%BF%E7%94%A8.html#%E8%AE%BE%E7%BD%AE%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AF)
roundgis
2022-11-10 22:05:42 +08:00
不要用就對了

就是個輔助開發用的
novolunt
2022-11-10 22:13:22 +08:00
不要相信任何不是原生 linux 内核的所谓 linux 发行版。
charlie21
2022-11-11 01:56:07 +08:00
是的
安装 wsl 任一发行版之后第一件事就是重安 openssh-server
daimiaopeng
2022-11-11 09:22:47 +08:00
wsl 好像也一样,踩过坑
MasterCai
2022-11-11 15:37:04 +08:00
ssh 稍微配置一下还行,最坑的是 systemd
lookStupiToForce
2022-11-11 15:40:50 +08:00
说的好,于是我选择 vmware
jiangwei2222
2022-11-11 20:27:53 +08:00
@Neol #7 你把 linux 里面的 ssh 卸载了,重装一个就好了,我就是报这个错误
jiangwei2222
2022-11-11 20:29:35 +08:00
@1ver #8 是的,自启我是用的 windows 计划任务,设置成登录前执行就可以了。l

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/894260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX