在装有 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
不包括我的标题。有人可以帮忙吗?
您还可以转换现有密钥,而不是创建新密钥(请确保在运行以下命令之前备份它,因为它会覆盖您原来的密钥):
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
(原始答案来自https://serverfault.com/a/950686)
关键还必须将页眉和页脚放在单独的行上
----BEGIN OPENSSH PRIVATE KEY-----
[any amout of data with newlines and spaces]
-----END OPENSSH PRIVATE KEY-----
(我不认为这是你的问题,但可能对尝试调试同一问题的人有帮助)