Windows11 更改默认 SSH 客户端为“Bash”出现“系统无法访问此文件。”错误

2022-10-11 08:20:33 +08:00
 MasterCai

有一台 windows11 的机器,安装了 WSL2 ,我想在其他机器通过 SSH 进行访问。目前的情况是可以通过 SSH 登录上,但是打开的终端是“CMD”。

根据一些教程,我通过修改注册表的方式将 SSH 的默认终端修改为了“Bash”,但是这样就会出现“系统无法访问此文件。”的报错。我还尝试了将注册表的终端值修改为“WSL”,即“C:\WINDOWS\System32\wsl.exe”,也会出现同样错误。但是很奇怪,我将默认终端设置为“Powershell”就没有任何问题,即"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"。

然后我又尝试了另一种方案,即先通过 SSH 登陆到 windows 的“CMD”终端,然后再在这里输入“Bash”命令或"wsl",均出现同样的错误,但是如果我在 windows11 本地打开“CMD”终端,“Bash”和“wsl”命令均可以正常使用。

用于连接的客户端是 macos 下的 iterm2 ,不过这个应该没有影响吧

我推测是不是远程连接的时候不允许访问“C:\WINDOWS\System32\”下的文件?但是“Powershell”同样在 System32 目录下,却可以正常访问,不太理解这个机制,有没有什么解决方案能够正常通过 SSH 打开“bash”或者“wsl”呢?

3515 次点击
所在节点    Windows
9 条回复
baobao1270
2022-10-11 08:36:16 +08:00
试试不在 windows 里启用 ssh server ,而是在 wsl 里安装 openssh server ?
xygod
2022-10-11 09:04:02 +08:00
感觉需要做端口转发,类似远程 ssh 到 docker 内?
MasterCai
2022-10-11 09:04:37 +08:00
@baobao1270 wsl ip 不固定呀,就是想先试试通过 windows 连接的方案
MasterCai
2022-10-11 09:06:33 +08:00
@xygod 这好像也是个思路,但是 wsl 的 ip 不固定好像也不太好转发
xygod
2022-10-11 09:10:14 +08:00
ddrobot
2022-10-11 10:14:35 +08:00
@MasterCai 我之前用的 wsl2host ,后来要跨局域网通信,直接在 wsl 里跑 zerotier 或者 tailscle 之类的 p2p 打洞来组网了,再回来直接上 hyper-v 了,本质就是个虚拟机
canbingzt
2022-10-11 14:00:36 +08:00
$wslip = wsl -- ip -o -4 -json addr list eth0 `
| ConvertFrom-Json `
| %{ $_.addr_info.local } `
| ?{ $_ }
netsh interface portproxy add v4tov4 listenport=22 listenaddress=0.0.0.0 connectport=22 connectaddress=$wslip
canbingzt
2022-10-11 14:01:19 +08:00
@MasterCai 看#7 代码,设置成开机启动就可以了
Evsio0n
2023-03-27 16:51:59 +08:00
This is a common issue for wsl2.

Known Issues:
Launching Windows Subsystem for Linux from session zero does not currently work (for example from an ssh connection).

https://learn.microsoft.com/en-us/windows/wsl/store-release-notes#known-issues

解決方法: 使用 wsl 1

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

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

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

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

© 2021 V2EX