SSH 进入 Linux 子系统,而不是 Windows CMD

SSH into Linux Subsystem, not Windows CMD

我想我搞砸了,因为这里没有人有类似的问题。当我通过 SSH 连接到 windows 笔记本电脑时,默认情况下它不会给我 UNIX shell,而是直接让我进入 Windows 提示符。然后我必须输入 bash,然后输入 cd 然后我可以 运行 我需要的命令。

这是 windows 设置问题还是 openssh 问题?有人对我如何避免每次登录时都需要输入这些命令有什么建议吗?

Windows SSH 守护进程是 openssh,默认设置使用 cmd 作为 shell,但您可以编辑配置以使用 powershell,bash,或任何其他第三方 shell。按照 this link.

中的信息进行操作

它在 MS PoweShell 文档中给出应该通过。

设置默认命令shell,首先确认OpenSSH安装文件夹在系统路径中。对于 Windows,默认安装文件夹是 SystemDrive:WindowsDirectory\System32\openssh。

配置默认 ssh shell 是在 Windows 注册表中完成的,方法是将 shell 可执行文件的完整路径添加到字符串值 DefaultShell 中的 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH。

这是示例,以下 Powershell 命令将默认 shell 设置为 PowerShell.exe:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force

如需进一步说明,请参阅 this link。