无法解析privateKey:不支持的密钥格式

Geo*_*ang 8 ssh openssh node.js ssh-keygen ssh2

在我的Mac OS Pro Majave图书专业版中,我使用SSH-KEYGEN为node.js模块SSH2生成了一个新的SSH密钥。但是,我收到错误消息:Cannot parse privateKey: Unsupported key format

我用ssh命令验证了密钥,它工作正常。但不适用于node.js模块SSH2。

在私钥文件中,标题是, -----BEGIN OPENSSH PRIVATE KEY-----而结尾是-----END OPENSSH PRIVATE KEY-----

我检查了模块ssh2-streams keyParser.js。regexp模式RE_HEADER_OPENSSH_PRIV不包含我的标题。有人可以帮忙吗?

小智 10

遇到同样的问题,在这里找到解决方案。

创建密钥时,基本上使用PEM选项:

ssh-keygen -m PEM -t rsa 
Run Code Online (Sandbox Code Playgroud)


Arn*_*lle 10

您还可以转换现有密钥,而不是创建一个新密钥(确保在运行以下命令之前备份它,因为它会覆盖您原来的密钥):

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

(来自https://serverfault.com/a/950686 的原始答案)