有一台 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”呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.