我使用的 PC 没有管理员权限,需要设置 SSH 服务器。我试过莫巴SSH并且自由SSHd但两者都需要管理员权限。然后我发现Win32的OpenSSH看起来它终于可以正常工作了。说实话,我实际上不明白为什么这样的服务需要管理员权限,因为我已经设置了例如在端口 21 上监听的 FTP 服务器,没有任何问题,但好吧,回到问题上。
我已经运行ssh-keygen.exe -A
了Win32的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
对于密码验证,只需使用USERNAME
。USERNAME@localhost
无法工作。
为了使公钥认证正常工作:
- 在您的 Windows 帐户配置文件夹(通常在)中创建包含您的公钥文件的文件
.ssh
夹。authorized_keys
C:\Users\username\.ssh
- 确保只有相应的 Windows 帐户对文件夹和文件具有写访问权限(如果您使用相应的帐户登录,则创建文件夹和文件,则默认访问级别是什么)。
有关两者的详细信息,请参阅我的指南使用 OpenSSH 在 Windows 上安装 SFTP/SSH 服务器。