54 个版本 (12 个重大更改)
| 新版本 0.46.0-beta.4 | 2024 年 8 月 22 日 |
|---|---|
| 0.45.0 | 2024 年 8 月 14 日 |
| 0.44.0 | 2024 年 7 月 18 日 |
| 0.43.0 | 2024 年 3 月 21 日 |
| 0.34.0-beta.2 | 2022 年 3 月 19 日 |
#46 in 密码学
44,255 每月下载量
用于 18 个crate(16 个直接使用)
675KB
15K SLoC
Russh
低级别的 Tokio SSH2 客户端和服务器实现。
示例: 简单客户端,交互式 PTY 客户端,服务器,SFTP 客户端,SFTP 服务器。
这是 Pierre-Étienne Meunier 的 Thrussh 的分支。
✨ = Russh 中新增
- 更多 panic 安全性 ✨
async_trait支持 ✨direct-tcpip(本地端口转发)forward-tcpip(远程端口转发)✨direct-streamlocal(本地 UNIX 套接字转发,仅客户端)✨forward-streamlocal(远程 UNIX 套接字转发)✨- 加密算法
chacha20-poly1305@openssh.comaes256-gcm@openssh.com✨aes256-ctr✨aes192-ctr✨aes128-ctr✨aes256-cbc✨aes192-cbc✨aes128-cbc✨3des-cbc✨
- 密钥交换
curve25519-sha256@libssh.orgdiffie-hellman-group1-sha1✨diffie-hellman-group14-sha1✨diffie-hellman-group14-sha256✨diffie-hellman-group16-sha512✨ecdh-sha2-nistp256✨ecdh-sha2-nistp384✨ecdh-sha2-nistp521✨
- MACs
hmac-sha1✨hmac-sha2-256✨hmac-sha2-512✨hmac-sha1-etm@openssh.com✨hmac-sha2-256-etm@openssh.com✨hmac-sha2-512-etm@openssh.com✨
- 主机密钥和公钥认证
ssh-ed25519rsa-sha2-256rsa-sha2-512ssh-rsa✨ecdsa-sha2-nistp256✨ecdsa-sha2-nistp384✨ecdsa-sha2-nistp521✨
- 认证方法
密码公钥键盘交互无- OpenSSH证书(仅客户端 ✨)
- 依赖项更新
- OpenSSH保持活动状态请求处理 ✨
- OpenSSH代理转发通道 ✨
- OpenSSH
server-sig-algs扩展 ✨ openssl依赖项是可选的 ✨
安全
拒绝(clippy::unwrap_used)拒绝(clippy::expect_used)拒绝(clippy::indexing_slicing)拒绝(clippy::panic)- 异常是手动检查的
恐慌
- 当Rust分配器在CryptoVec调整大小时无法分配内存时。
不安全代码
cryptovec使用unsafe以实现更快的复制、初始化和绑定到本地API。
生态系统
- russh-sftp - 对
russh的服务器端和客户端SFTP子系统支持 - 查看russh/examples/sftp_server.rs或russh/examples/sftp_client.rs. - async-ssh2-tokio - 用于在SSH上运行命令的简单高级API。
贡献者 ✨
感谢这些出色的人们 (emoji key)
此项目遵循 all-contributors 规范。欢迎任何形式的贡献!
依赖项
~14–44MB
~687K SLoC