7 个版本 (重大更改)
0.9.1 | 2024 年 2 月 27 日 |
---|---|
0.9.0 | 2023 年 10 月 18 日 |
0.5.0 | 2023 年 7 月 28 日 |
0.4.0 | 2023 年 7 月 25 日 |
0.1.0 | 2023 年 5 月 14 日 |
#656 在 网络编程
每月下载量 153
在 6 个 Crates 中使用 (直接使用 3 个)
26KB
368 行
ssh-agent-client-rs
ssh-agent-client-rs
是一个使用 draft-miller-ssh-agent-04 中定义的协议与 ssh-agent 交互的纯 Rust 客户端库。
该库的设计目标是提供一个易于使用且经过良好测试的库,可以用于执行与 ssh-agent
交互的最常见任务。API 将始终是同步的,因为这与大多数用例相对应,除非我什么时候变得非常无聊,否则它可能不会是协议的完整实现。但是,欢迎贡献。
它受到了 russh-agent 的启发,但这两个项目没有共享任何代码。特别是这个客户端只暴露了同步 API,这简化了实现和界面。
实现和测试的功能
此客户端实现了协议规范中描述的大部分功能,包括指示 ssh-agent
- 添加身份,规范中用于密钥对的术语,给定一个私钥
- 列出身份
- 根据特定的公钥删除一个身份
- 删除所有身份
- 对任意消息进行签名
以下功能尚未实现
- 添加具有约束条件的身份
- 使用
SSH_AGENTC_ADD_SMARTCARD_KEY
消息添加智能卡密钥的专用消息。然而,在实践中,至少resident
类型的智能卡密钥(例如 Yubikey 系列的 5 代)是使用添加身份的常规消息(SSH_AGENTC_ADD_IDENTITY
)添加的。
用法
示例中的代码应该很容易理解。基本思路是创建一个Client
实例,并调用其公共方法与ssh-agent交互。
许可协议
根据以下任一许可协议授权:
贡献
除非您明确表示,否则根据Apache-2.0许可协议定义的,您有意提交以包含在工作中的任何贡献,将双重许可如上所述,不附加任何额外条款或条件。
依赖关系
~8.5MB
~163K SLoC