使用私钥登录时出现 ssh 错误“加载的公钥格式无效”和“libcrypto 中的错误”?

使用私钥登录时出现 ssh 错误“加载的公钥格式无效”和“libcrypto 中的错误”?

更新

当我尝试生成公钥时,它仍然给出错误“libcrypto 中的错误”

加载密钥“breakthis”:libcrypto 中出现错误

私钥如下

我正在尝试解决 Hack the box machine

我能够获得一个私钥,然后将该私钥转换为 JOHNTHERIPPER 的哈希值并成功破解它

但是现在当我尝试通过 ssh 登录时出现以下错误 我已经搜索了很多但无法解决这些错误


ssh -i id_rsa [email protected]

load pubkey "id_rsa": invalid format 

Load key "id_rsa": error in libcrypto

[email protected]'s password: 

答案1

就我而言,我使用剪贴板复制了密钥文件,它创建了一个类似的文件,但没有终止换行符。这足以让 libcrypto 陷入困境。在 vim 中打开文件并:wq关闭它,足以添加换行符,它解决了我的问题。

答案2

错误:加载公钥“id_rsa”:格式无效

当 ~/.ssh/config 中使用公钥而不是使用私钥时,会发生这种情况。

答案3

我通过在文件 最后一行的末尾Load key "id_rsa": error in libcrypto添加控制字符(新行)来修复该错误。LF-----END OPENSSH PRIVATE KEY-----.pem

之前(不起作用):

在此输入图像描述

之后(有效):

在此输入图像描述

LF请注意最后一个非空行中的附加控制字符。LF只需按一下按键即可添加控制字符ENTER

用于通过 SSH 连接到我的远程计算机的命令:

chmod 400 key.pem
ssh -i "key.pem" [email protected]

注意:错误消息可以是:

  • Load key "id_rsa": error in libcrypto(我在我的 Ubuntu 计算机上看到了它)。
  • Load key "key.pem": invalid format(我在我的 Windows 计算机上看到了它)。

要在 Notepad++ 中显示行尾控制字符:

在此输入图像描述

答案4

当我使用 2 个 github 帐户和 2 个 ssh 密钥时,我遇到了这个错误,但是当我像下面这样更改配置文件时,就消除了这个错误,

myDir$ ssh -T [email protected]
Load key "/home/taxi/.ssh/mhmd_personal.pub": error in libcrypto
[email protected]: Permission denied (publickey).

由此

Host *
  AddKeysToAgent yes
  IdentityFile ~/.ssh/mhmd_personal.pub
  # IdentityFile ~/.ssh/id_ed25519

Host *
  AddKeysToAgent yes
  IdentityFile ~/.ssh/mhmd_personal
  # IdentityFile ~/.ssh/id_ed25519

删除了.pub配置文件的扩展名。

相关内容