ssh-agent has a protocol whereby data can be sent to it to get signed by a particular private key:
http://api.libssh.org/rfc/PROTOCOL.agent
In Linux, with ssh-agent, you'd open a Unix domain socket to SSH_AUTH_SOCK and send the packets to that. Windows, however, doesn't have a Unix domain socket.
Any ideas?
Thanks!
Pageant is a PuTTY authentication agent. It holds your private keys in memory so that you can use them whenever you are connecting to a server. It eliminates the need to: Explicitly specify the relevant key to each Linux user account, if you use more than one account to log into a server.
Pageant is an SSH authentication agent. It holds your private keys in memory, already decoded, so that you can use them often without needing to type a passphrase.1.
To use Pageant to talk to an existing agent, you can add new keys using -a, list the current set of keys' fingerprints and comments with -l, extract the full public half of any key using --public or --public-openssh, delete a key using -d, or delete all keys using -D.
The communication between putty and pageant has been done on the shared memory by using WIN32 APIs. I had implemented that protocol in Java with JNA. If you are interested in its protocol and want to learn how it runs on Windows, the following file may be useful,
https://github.com/ymnk/jsch-agent-proxy/blob/master/jsch-agent-proxy-pageant/src/main/java/com/jcraft/jsch/agentproxy/connector/PageantConnector.java
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With