当使用默认的 Windows 10 sshd
(SSH 服务/守护程序)时,如何将其设置为使用powershell
而不是登录cmd
?
答案1
介绍
Windows 平台的 OpenSSH 服务器和客户端实现在 2017 年一直处于积极开发阶段,因此配置、目录名称等一直在变化。请检查Windows 版 OpenSSH 的官方存储库了解最新信息。
回答
编辑sshd_config
位于以下位置的文件%ProgramData%\ssh
:
PasswordAuthentication yes
Subsystem powershell c:/pwsh/pwsh.exe -sshs -NoLogo -NoProfile
因为漏洞名称中带有空格的目录在 sshd 配置中无法正确处理,这就是为什么您应该创建到 Powershell 目录的符号链接:
mklink /D c:\pwsh "C:\Program Files\PowerShell\6"
重新启动 sshd 服务:
Restart-Service sshd
你已经完成了。
完整信息可查阅这里
答案2
在撰写本文时,在 Windows 10 Pro 上,默认 shell 是从 Windows 注册表中读取的。
您可以按照以下方式进行修改:
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
来源:
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration