设置Windows OpenSSH的DefaultShell注册表项后密钥验证失败的求助
设置Windows OpenSSH的DefaultShell注册表项后密钥验证失败的求助
我在Windows Server 2022机器上搭建了OpenSSH服务器,采用密钥认证方式,原本一切正常——我可以通过客户端执行命令 ssh myuser@server.tld 成功连接。
但OpenSSH默认使用cmd作为登录shell,我现在更习惯用PowerShell(Core)。于是我修改了注册表中的DefaultShell项,将其指向PowerShell的可执行文件路径,之后还运行了 Restart-Service sshd 命令重启了SSH服务。
结果问题出现了:再次尝试用 ssh myuser@server.tld 连接时,直接返回错误:
myuser@server.tld: Permission denied (publickey)
我的公钥和私钥完全没有改动!只要删除DefaultShell这个注册表项,连接就又能正常工作了(只不过还是默认进入cmd shell)。
请问有没有办法让我既能使用现有的密钥对完成SSH认证,又能默认进入PowerShell环境呢?
备注:内容来源于stack exchange,提问作者Saaru Lindestøkke




