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

问题描述 投票:0回答:3

在装有 OS Majave 的 Mac book pro 中,我使用 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。正则表达式模式

RE_HEADER_OPENSSH_PRIV
不包括我的标题。有人可以帮忙吗?

node.js ssh openssh ssh-keygen ssh2
3个回答
24
投票

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

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

ssh-keygen -m PEM -t rsa 

13
投票

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

ssh-keygen -p -m PEM -f ~/.ssh/id_rsa

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


0
投票

关键还必须将页眉和页脚放在单独的行上

----BEGIN OPENSSH PRIVATE KEY-----
[any amout of data with newlines and spaces]
-----END OPENSSH PRIVATE KEY-----

(我不认为这是你的问题,但可能对尝试调试同一问题的人有帮助)

© www.soinside.com 2019 - 2024. All rights reserved.