PEM_read_PrivateKey 失败

rac*_*nuf 2 ssh mac-osx ssh-keys amazon-web-services

我正在尝试使用 ssh 从 OSX Mavericks 登录 AWS,但玩得很开心。我输入:

ssh -i ~/.ssh/filename.pem
ec2-user@ec2-xx-x-xxx-xx.compute-1.amazonaws.com -v
Run Code Online (Sandbox Code Playgroud)

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

debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Saving password to keychain failed.
Run Code Online (Sandbox Code Playgroud)

我在 AWS 上启动了一个新实例并生成了一个新密钥对。当我让 .pem 文件不受保护时,OSX 钥匙串弹出窗口不会出现,但我无法访问 AWS,因为该文件不受保护:

“/Users/cvn/.ssh/chris-test.pem”的权限 0644 过于开放。

要求您的私钥文件不能被

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

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

所以我跑了

chmod 400 chris-test.pem
Run Code Online (Sandbox Code Playgroud)

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

小智 6

就我而言,私钥采用 openssh 格式(-----BEGIN OPENSSH PRIVATE KEY-----要检查的密钥文件中的行),但客户端ssh 仅适用于 rsa 格式(-----BEGIN RSA PRIVATE KEY-----行)。我刚刚将一个转换为另一个并且它有效。请参阅此处如何将 Openssh 私钥转换为 RSA 私钥。