腻子选美协议?

时间:2012-09-17 03:52:46

标签: ssh putty ssh-agent pageant

ssh-agent有一个协议,可以将数据发送给它以获得特定私钥的签名:

http://api.libssh.org/rfc/PROTOCOL.agent

在Linux中,使用ssh-agent,您将打开一个到SSH_AUTH_SOCK的Unix域套接字并将数据包发送到该套接字。但是,Windows没有Unix域套接字。

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:7)

putty和pageant之间的通信已使用WIN32 API在共享内存上完成。我用JNA在Java中实现了该协议。如果您对其协议感兴趣并想了解它如何在Windows上运行,则以下文件可能很有用,

https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-pageant/src/main/java/com/jcraft/jsch/agentproxy/connector/PageantConnector.java

答案 1 :(得分:3)

如果您在C中实施协议,则可以引用canonical PuTTY implementation。如果您在Python中实现它,那么paramiko项目implements the Putty Pageant protocol

我最了解,协议是相同的,但传输方式不同,使用共享内存而不是套接字。