我想使用 SSH 密钥连接到 Windows 服务器,如果我通过 SSH 密码连接,则一切正常,但如果我通过 SSH 密钥连接,则失败
- 我是该服务器的用户,我的公钥是
%UserProfile%/.ssh/authorized_keys
sshd_config
:# Logging LogLevel DEBUG3 # Authentication: PubkeyAuthentication yes AuthorizedKeysFile ~/.ssh/authorized_keys # override default of no subsystems Subsystem sftp sftp-server.exe
在服务器日志中,我有:
Failed publickey for myuser from myLocalIP port 51845 ssh2: ED25519 SHA256:<mypubssh>
在客户端日志中,我有:
$ ssh -o PreferredAuthentications=publickey -i ~/.ssh/id_ed25519 -l myUser -p 222 hostserver -vvv
myuser@hostserver: Permission denied (publickey,password,keyboard-interactive).
答案1
快速解决方法,可以用 521 密钥覆盖现有密钥文件,如下所示:
C:\Windows\System32\OpenSSH\ssh-keygen.exe -b 521 -o -t ecdsa -f C:\ProgramData\ssh\ssh_host_ecdsa_key
然后从 power shell 执行 Restart-Service sshd