使用 node-forge 将 ssh 公钥从各种格式转换为 Open SSH

Posted

技术标签:

【中文标题】使用 node-forge 将 ssh 公钥从各种格式转换为 Open SSH【英文标题】:Convert ssh public keys from various formats to Open SSH with node-forge 【发布时间】:2018-05-14 04:38:18 【问题描述】:

我想使用 node-forge 将各种格式的 ssh 公钥转换成 Open SSH 格式。

生成密钥和转换没有问题:

forge.ssh.publicKeyToOpenSSH(key, comment);

但无法弄清楚如何将文件读入node-forge,尝试过:

pki.publicKeyFromPem(pem);

pki.publicKeyFromAsn1(subjectPublicKeyInfo);

【问题讨论】:

【参考方案1】:

您可以像这样加载OpenSSL public keys (PKCS#8)

var forgePubKey = forge.pki.publicKeyFromPem('-----BEGIN PUBLIC KEY-----' + publicKey + '-----END PUBLIC KEY-----');

其中 publicKey 是 BASE64 编码的

【讨论】:

以上是关于使用 node-forge 将 ssh 公钥从各种格式转换为 Open SSH的主要内容,如果未能解决你的问题,请参考以下文章

如何从ec2实例ssh到另一个ec2实例而不将公钥存储在其中一个实例中?

通过公钥进行 ssh 访问失败“权限被拒绝(公钥)”

github/gitlab ssh-key公钥各种问题 解决

sh SSH - 将公钥从本地复制到服务器 - https://goo.gl/Ccaafo

使用lrzsz上传ssh客户端公钥

ssh将公钥复制到其他服务器。ssh使用非默认22端口