Crates.io | ssh-agent-client-rs |
lib.rs | ssh-agent-client-rs |
version | 0.9.1 |
source | src |
created_at | 2023-05-14 11:36:39.136168 |
updated_at | 2024-02-27 11:46:06.252913 |
description | Pure rust implementation of the ssh-agent protocol. It can be used to write clients that interact with the ssh agent. |
homepage | |
repository | https://github.com/nresare/ssh-agent-client-rs |
max_upload_size | |
id | 864207 |
size | 68,875 |
ssh-agent-client-rs
is a pure rust client library for interacting with an ssh-agent using the protocol defined in
draft-miller-ssh-agent-04
The aim with the design of this library is to provide an easy-to-use and well tested
library that can be used to perform the most common tasks interacting with the ssh-agent
.
The API will always be synchronous, as that corresponds to most use cases, and unless
I get very bored at some point, it will probably not be a complete implementation of the
protocol. However, contributions are more than welcome.
It was inspired by russh-agent but the projects does not share any code. In particular this client only exposes a synchronous API which simplifies both the implementation and interface.
This client implements the most of the features described in the protocol specification, including the ability to instruct an ssh-agent to
The following features have not yet been implemented
SSH_AGENTC_ADD_SMARTCARD_KEY
message.
However, in practice at least resident
type smartcard keys from a device implementing FIDO2
such as Yubikey series 5 is added using the regular message to add an identity, SSH_AGENTC_ADD_IDENTITY
The example code in examples should be pretty easy to follow.
The basic idea is to create a Client
instance and call its public methods to interact with the ssh-agent.
Licensed under either of
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.