【发布时间】: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