连接到 Windows OpenSSH 服务器时出现密钥拒绝 WinSCP/PuTTY 问题

连接到 Windows OpenSSH 服务器时出现密钥拒绝 WinSCP/PuTTY 问题

我正在尝试配置一个私钥以供 WinSCP 和 PuTTY/Plink 使用,但我遇到了问题(尝试从 Windows 10 连接到 Windows 2012 Server)。

我在 Windows 服务器上安装了 OpenSSH,并且可以使用用户名和密码通过 WinSCP(SFTP)和 PuTTY(SSH-2)进行连接,但是当我尝试使用私钥时出现密钥拒绝错误。

我使用 PuTTYgen(RSA 2048)在本地机器上创建了密钥,并将其添加到服务器的authorized_keys文件中(我使用 WinSCP 中的功能自动执行此操作),供我的用户(不是本地管理员)在文件中指定的同一位置sshd_configC:\Users\<username>\.ssh)。

我删除了所有其他帐户对此文件夹和authorized_keys文件的所有权限。我尝试在服务器上将日志记录设置为详细,但似乎没有什么进展,只有“失败无”和“失败公钥”。

我不知道还能尝试什么。还有人有什么建议吗?

答案1

事实证明,我的 openssh 日志文件中没有任何有用的信息,因为我已经阅读过将日志记录级别更改C:\Program Files\OpenSSH\sshd_config详细,但这并没有提供我需要的所有信息。事实证明,你必须将其更改为调试3
现在,当我尝试使用密钥连接时,我看到了以下内容:

148 09:35:57:393 debug1:无法打开授权密钥“C:\Users\sshuser\.ssh/authorized_keys”:权限被拒绝

这让我看到了这个针对 Windows 的 GitHub 评论: https://github.com/PowerShell/Win32-OpenSSH/issues/826#issuecomment-318128066

这表明我尝试连接的用户对该文件夹和文件NT SERVICE\sshd account needs具有读取权限。 就我而言,即使是读取和执行也太多了。 您只能为 sshd 设置读取权限。C:\Users\sshuser\.ssh/authorized_keys

相关内容