【问题标题】:Extracting SSH public key from message with libssh使用 libssh 从消息中提取 SSH 公钥
【发布时间】:2014-10-23 03:23:26
【问题描述】:

我在我的节点应用程序中使用node-libssh 作为与 libssh 的良好绑定,并且可以很容易地模拟 ssh 服务器。但是我需要从传入的 SSH 会话中提取公钥。我需要密钥的字符串化版本以供以后在 db 查询中使用,它必须与您在 id_rsa.pub 文件中找到的格式匹配。

我已经能够将其范围缩小到需要一种将 libssh ssh_key 转换为 char 数组的方法。

使用ssh_key pubKey = ssh_message_auth_pubkey(message); 来获取pubkey 的ssh_key 版本非常简单,但是在libssh 中似乎没有任何方法可以将ssh_key 转换为可以传递回我的nodejs 进程的任何其他格式。我认为这样的解决方案是:

ssh_key authKey = ssh_message_auth_pubkey(m->message);
const char *pubKey = ssh_key_to_char(authKey);
if (pubKey)
  instance->Set(NanSymbol("pubKey"), v8::String::New(pubKey));

但自然不是那么简单,因为没有方法 ssh_key_to_char 存在,我非常感谢这里的任何指针。

【问题讨论】:

  • 你看到this了吗?
  • 是的,但是我一直找不到将 ssh_key 转换为 ssh_string 的方法。

标签: javascript c++ node.js ssh rsa


【解决方案1】:

经过一段时间的挖掘,我找到了可以用来构建此功能的方法:

ssh_pki_export_pubkey_base64(ssh_key, char*)

这会将 ssh_key 转换为其 base64 等效项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 2012-03-18
    • 2022-10-19
    • 1970-01-01
    • 2016-12-28
    • 2015-09-06
    • 1970-01-01
    相关资源
    最近更新 更多