PEM_read_PrivateKey 失败

PEM_read_PrivateKey 失败

我正在尝试使用 ssh 从 OSX Mavericks 登录到 AWS,但遇到了麻烦。我输入:

ssh -i ~/.ssh/filename.pem
[email protected] -v

我得到了这个,以及一个要求输入密码的钥匙串弹出窗口,即使没有密码可以提供......

debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Saving password to keychain failed.

我在 AWS 上启动了一个新实例并生成了一个新的密钥对。当我将 .pem 文件置于不受保护的状态时,OSX 钥匙串弹出窗口并未出现,但由于该文件不受保护,我无法访问 AWS:

'/Users/cvn/.ssh/chris-test.pem' 的权限 0644 太开放。

要求您的私钥文件不能被访问

其他。此私钥将被忽略。权限错误:忽略

密钥:/Users/cvn/.ssh/chris-test.pem 权限被拒绝(公钥)。

所以我跑了

chmod 400 chris-test.pem

并且钥匙串返回要求输入我没有的密码......

答案1

在我的例子中,私钥是 openssh 格式(-----BEGIN OPENSSH PRIVATE KEY-----在密钥文件中检查行),但是客户ssh 仅适用于 rsa 格式(-----BEGIN RSA PRIVATE KEY-----行)。我刚刚将一个转换为另一个,它就可以正常工作。了解如何将 Openssh 私钥转换为 RSA 私钥这里

答案2

确保您确实使用的是私钥(不是公钥,也不是其他东西)并仔细检查其内容。

答案3

IdentitiesOnly=yes就我而言,从我的文件中删除该行~/.ssh/config解决了这个问题。

相关内容