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.22022 年 3 月 19 日

#46 in 密码学

Download history 9179/week @ 2024-05-02 12934/week @ 2024-05-09 9871/week @ 2024-05-16 9315/week @ 2024-05-23 9359/week @ 2024-05-30 10444/week @ 2024-06-06 10550/week @ 2024-06-13 12494/week @ 2024-06-20 10804/week @ 2024-06-27 9806/week @ 2024-07-04 11730/week @ 2024-07-11 10810/week @ 2024-07-18 10432/week @ 2024-07-25 9099/week @ 2024-08-01 10220/week @ 2024-08-08 12876/week @ 2024-08-15

44,255 每月下载量
用于 18 个crate(16 个直接使用)

Apache-2.0

675KB
15K SLoC

Russh

Rust All Contributors

低级别的 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.rsrussh/examples/sftp_client.rs.
  • async-ssh2-tokio - 用于在SSH上运行命令的简单高级API。

贡献者 ✨

感谢这些出色的人们 (emoji key)

Mihir Samdarshi
Mihir Samdarshi

📖
Connor Peet
Connor Peet

💻
KVZN
KVZN

💻
Adrian Müller (DTT)
Adrian Müller (DTT)

💻
Simone Margaritelli
Simone Margaritelli

💻
Joe Grund
Joe Grund

💻
AspectUnk
AspectUnk

💻
Simão Mata
Simão Mata

💻
Mariotaku
Mariotaku

💻
yorkz1994
yorkz1994

💻
Ciprian Dorin Craciun
Ciprian Dorin Craciun

💻
Eric Milliken
Eric Milliken

💻
Swelio
Swelio

💻
Joshua Benz
Joshua Benz

💻
Jan Holthuis
Jan Holthuis

🛡️
mateuszkj
mateuszkj

💻
Saksham Mittal
Saksham Mittal

💻
Lucas Kent
Lucas Kent

💻
Raphael Druon
Raphael Druon

💻
Maya the bee
Maya the bee

💻
Milo Mirate
Milo Mirate

💻
George Hopkins
George Hopkins

💻
Åke Amcoff
Åke Amcoff

💻
Brendon Ho
Brendon Ho

💻
Samuel Ainsworth
Samuel Ainsworth

💻
Sherlock Holo
Sherlock Holo

💻
Alessandro Ricottone
Alessandro Ricottone

💻
T0b1-iOS
T0b1-iOS

💻
Shoaib Merchant
Shoaib Merchant

💻
Michael Gleason
Michael Gleason

💻
Ana Gelez
Ana Gelez

💻
Tom König
Tom König

💻
Pierre Barre
Pierre Barre

💻
Jean-Baptiste Skutnik
Jean-Baptiste Skutnik

💻
Adam Chappell
Adam Chappell

💻

此项目遵循 all-contributors 规范。欢迎任何形式的贡献!

依赖项

~14–44MB
~687K SLoC