package ssh-agent
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=f3e931d8c7eeac926cf353079d653a2a2757e238af3a45555d5cab1d8460a956
sha512=66d520e731f04690baa846d78f1c01f9eefb7e61e58a2326725f96c174ecd43335982af33649f8ac34c952a7f45577f023a6a1856a41cc9fedc99770a5a2eca3
Description
Published: 04 Apr 2022
README
OCaml ssh-agent
An ssh-agent protocol implementation in OCaml.
This library offers angstrom/faraday parsers/serializers for the ssh agent protocol as well as some helper functions for implementing an ssh-agent. In the cmd/
directory you find two simple example applications:
ssh_add
: this application connects to$SSH_AUTH_SOCK
, generates a private key (rsa or ed25519 are supported), adds it to the ssh-agent and exits. Note that it doesn't save the public key anywhere or removes it from the agent, and is only good for polluting your ssh-agent with random keys. You may want to write the public key to a file and then remove it from the agent usingssh-add -d path-to-key.pub
.ssh_agent_server
: this application listens on a socketocaml-ssh-agent.sock
in CWD, and implements a very basic ssh-agent. It supports adding keys, removing keys and signing using rsa or ed25519 keys. It does not support concurrent connections and is not suitable for Production Use™.
These applications are not built by default. To build or run them using dune you must do so manually:
$ dune build cmd/ssh_add.exe cmd/ssh_agent_server.exe # to build
$ dune exec -- cmd/ssh_add.exe --help # to run ssh_add
$ dune exec -- cmd/ssh_agent_server.exe # to run ssh_agent_server
For the Qubes OS unikernel using this library see qubes-mirage-ssh-agent.
Dependencies (9)
- cstruct
-
mirage-crypto-ec
< "1.0.0"
-
mirage-crypto-pk
< "1.0.0"
-
mirage-crypto
< "1.0.0"
-
faraday
>= "0.6"
-
angstrom
>= "0.15.0"
-
ppx_cstruct
build & >= "5.2.0"
-
dune
>= "1.0"
-
ocaml
>= "4.08.0"
Dev Dependencies (2)
-
alcotest
with-test
-
mirage-crypto-rng
with-test & < "0.11.0"
Used by (1)
-
ssh-agent-unix
= "0.4.0"