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.com
aes256-gcm@openssh.com
✨aes256-ctr
✨aes192-ctr
✨aes128-ctr
✨aes256-cbc
✨aes192-cbc
✨aes128-cbc
✨3des-cbc
✨
- 密钥交换
curve25519-sha256@libssh.org
diffie-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-ed25519
rsa-sha2-256
rsa-sha2-512
ssh-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