使用 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实例而不将公钥存储在其中一个实例中?
github/gitlab ssh-key公钥各种问题 解决