如何正确配置 Win32-OpenSSH 身份验证

如何正确配置 Win32-OpenSSH 身份验证

我使用的 PC 没有管理员权限,需要设置 SSH 服务器。我试过莫巴SSH并且自由SSHd但两者都需要管理员权限。然后我发现Win32的OpenSSH看起来它终于可以正常工作了。说实话,我实际上不明白为什么这样的服务需要管理员权限,因为我已经设置了例如在端口 21 上监听的 FTP 服务器,没有任何问题,但好吧,回到问题上。

我已经运行ssh-keygen.exe -AWin32的OpenSSH创建了以下文件Win32的OpenSSH目录:

ssh_host_dsa_key
ssh_host_dsa_key.pub

ssh_host_ecdsa_key
ssh_host_ecdsa_key.pub

ssh_host_ed25519_key
ssh_host_ed25519_key.pub

ssh_host_rsa_key
ssh_host_rsa_key.pub

然后我开始了sshd.exe。我第一次尝试putty.exe使用:进行连接USERNAME@localhost。我使用了与 Windows 登录相同的凭据,但没有成功:

Using username "USERNAME".
USERNAME@localhost's password:
Access denied
USERNAME@localhost's password:

第二次尝试是使用puttygen.exe转换ssh_host_rsa_key*.ppk文件并加载此文件pageant.exe,然后使用与第一次尝试相同的步骤。此后,sshd.exe消息发生了变化,如您所见,但登录仍然不起作用:

Using username "USERNAME".
Authenticating with public key "imported-openssh-key" from agent
Server refused public-key signature despite accepting key!
USERNAME@localhost's password:
Access denied
USERNAME@localhost's password:

我猜想服务器安装正确,问题出在身份验证上。如何正确设置Win32的OpenSSH是否可以使用密码或密钥登录?

答案1

对于密码验证,只需使用USERNAMEUSERNAME@localhost无法工作。


为了使公钥认证正常工作:

  • 在您的 Windows 帐户配置文件夹(通常在)中创建包含您的公钥文件的文件.ssh夹。authorized_keysC:\Users\username\.ssh
  • 确保只有相应的 Windows 帐户对文件夹和文件具有写访问权限(如果您使用相应的帐户登录,则创建文件夹和文件,则默认访问级别是什么)。

有关两者的详细信息,请参阅我的指南使用 OpenSSH 在 Windows 上安装 SFTP/SSH 服务器

相关内容