PuTTY 中的 SSH 私钥不起作用

PuTTY 中的 SSH 私钥不起作用

我已阅读了 StackExchange Q/AI 能找到的所有关于使用 PuTTY 密钥对进行 SSH 失败的问题。我ssh-keygen在 macOS 上生成了一个 RSA 密钥对,用于ssh-copy-id将公钥复制到authorized_keys我的服务器上的文件中,禁用密码验证后,我能够使用密钥对成功登录服务器。

然后我转到我的 Windows PC,打开 PuTTYGen,导入 id_rsa(私钥)文件,并将私钥保存为格式ppk。然而,当我将其添加到我的 PuTTY>Connection>SSH>Auth>Priv.Key 并尝试登录我的服务器时,我server refused our key从控制台窗口获取。

我尝试在 PuTTYGen 窗口中将位数从 2048 更改为 4096(因为指纹显示 ssh-rsa 4096),我检查了文件authorized_keys(600)及其目录(700)的权限,使用了 KiTTY 和 Solar PuTTY 作为替代方案,并将日志级别更改为DEBUG3服务器的sshd_config。最后,我注意到了这一点:

debug1: trying public key file /root/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
debug2: key not found
debug1: restore_uid: 0/0
debug3: mm_answer_keyallowed: key 0x559259bd7e00 is not allowed
Failed publickey for root from 10.0.0.125 port 57253 ssh2: RSA SHA256:...

说实话,我不知道下一步该怎么做。我觉得我已经尝试了所有方法,但我也不知道我是否对调试日志了解不够。任何帮助我都感激不尽,谢谢。

答案1

我遇到了同样的问题,Putty 使用 SSH 私钥转换为 Putty 格式,但服务器拒绝使用它。我的解决方案是:

  1. 下载最新的 putty 和 puttygen: 例如 0.76www.chiark.greenend.org.uk
  2. 使用更新的 puttygen 重新生成 Putty 私钥
  3. 使用最新的 putty 配置重新登录以使用重新生成的私钥

对于私钥转换/导出,我使用了默认的 puttygen 设置。新的 putty 私钥最终具有以下标头:

PuTTY-User-Key-File-3: ssh-rsa
Encryption: none
Comment: imported-openssh-key
Public-Lines: 6

希望这可以帮助

相关内容