在 Windows 10 1809 上,我启用了内置 SSH 服务器并对其进行了配置。
在另一台机器上,我使用 WinSCP 和 PuTTy 生成器来生成身份验证密钥。我复制了公钥部分并将其附加到.ssh\authorized_keys我的 SSH 服务器用户的文件中。我根据需要将文件权限固定给我的用户,即登录用户,用于密钥文件。
在客户端计算机上,我使用 .PPK 私钥和 WinSCP 尝试连接到与我的服务器的 SFTP 会话,但我收到一条消息,表明服务器拒绝了我选择的密钥。
我可以使用密码进行身份验证,但密钥对无效。挖掘sshd服务器上生成的日志,我看到了:
10200 2019-06-07 01:38:16.376 debug1: attempt 1 failures 0 [preauth]
10200 2019-06-07 01:38:16.376 debug2: input_userauth_request: try method publickey [preauth]
10200 2019-06-07 01:38:16.376 debug1: userauth_pubkey: test pkalg ssh-rsa pkblob RSA SHA256:B6s0omPbz6HJB2cIZf3+5MKHU42wp+JfOTyAM+EVqoY [preauth]
10200 2019-06-07 01:38:16.376 debug2: userauth_pubkey: disabled because of invalid user [preauth]
Run Code Online (Sandbox Code Playgroud)
我不确定这里发生了什么,如果这就是拒绝连接的原因。防火墙不会成为问题,因为我能够使用密码身份验证登录到服务器。客户端机器和 WinScp 在服务器上被识别,只是服务器拒绝提供的密钥。
PuTTy 生成的密钥(或用公钥复制的密钥内容)是否在任何地方都不支持?没有与密钥相关的密码短语,但我认为这不应该是一个问题。
服务器机器上只有一个用户,即登录用户。该sshd服务正在LOCAL SYSTEM帐户下运行。如果它在用户帐户下运行(我尝试过,但该服务根本没有启动,事件日志抱怨缺少特权......)
编辑 - …