想就有关 Windows 10 的新 OpenSSH 功能的问题寻求建议。
首先,我已经从 Windows 商店安装了“ubuntu”,因为它支持 Windows Subsystem for Linux。它运行正常,ubuntu 可以从本地 cmd 或 powershell 会话成功启动(只需输入“ubuntu”)。
(参考: https://docs.microsoft.com/en-us/windows/wsl/install-win10)
然后我安装了“OpenSSH Server (beta)”。经过一些设置后,我可以从另一台设备通过 SSH 进入 Windows 计算机,并且它默认显示命令提示符 (cmd)。我只需输入“powershell”即可打开 powershell 会话。
但是,我无法在 SSH 会话中从 cmd 或 powershell 启动 ubuntu。无论哪种情况,在我输入“ubuntu”后,它只会加载一段时间,然后什么也没发生。
我是否知道在 Win 10 SSH 中从 cmd/powershell 启动 linux shell 是否需要额外的设置?还想看看是否有办法在 SSH 登录时更改默认终端类型(cmd/powershell/ubuntu 等),谢谢!
(参考: https://blogs.msdn.microsoft.com/powershell/2017/12/15/using-the-openssh-beta-in-windows-10-fall-creators-update-and-windows-server-1709/ https://www.bleepingcomputer.com/news/microsoft/how-to-install-the-built-in-windows-10-openssh-server/)
========== 更新(2018 年 4 月 25 日)==========
按照以下指南设置本地启动和激活权限后,我设法从 SSH cmd 会话启动 ubuntu。
(参考: https://adrift.io/2017/10/11/windows-subsystem-for-linux-error-0x80070005-access-denied/)
我可以看到 bash shell 已启动。但是,我无法在终端中输入任何内容。看起来好像光标被冻结了。
Windows 事件查看器中未观察到任何错误。
请看看您是否对此有任何想法,谢谢。
答案1
答案2
要在 WSL 上启动 Ubuntu,你需要从 Windows CMD/PS 中输入“韋斯特“(不带引号)。然后它将默认直接带您进入 WSL 上的 Ubuntu bash 提示符。不再支持使用命令“ubuntu”进行调用。
要退出嵌套会话,你只需要输入出口在每个相应的会话中。
目前你无法做的是在通过 SSH 连接到 localhost 时启动 wsl,使用以下命令:
PS> ssh bahree@localhost "wsl"
C:\Users\Bahree> ssh bahree@localhost "wsl"
由于 WSL 人员可能已经预料到/测试过一些问题,因此他们可能故意阻止了这种情况。
但是,以下命令是合法的并且可以按预期工作:
PS> ssh bahree@localhost "powershell"
PS> ssh bahree@localhost "cmd"
C:\Users\Bahree> ssh bahree@localhost "powershell"
高血压