#ssh

russh-keys

Deal with SSH keys: load them, decrypt them, call an SSH agent

9 releases

0.23.0-beta.1 Nov 17, 2022
0.22.0 Nov 4, 2022
0.22.0-beta.7 Sep 20, 2022
0.22.0-beta.5 Aug 20, 2022
0.22.0-beta.1 Mar 13, 2022

#407 in Cryptography

Download history 215/week @ 2022-08-14 208/week @ 2022-08-21 78/week @ 2022-08-28 113/week @ 2022-09-04 165/week @ 2022-09-11 211/week @ 2022-09-18 156/week @ 2022-09-25 128/week @ 2022-10-02 146/week @ 2022-10-09 323/week @ 2022-10-16 305/week @ 2022-10-23 408/week @ 2022-10-30 607/week @ 2022-11-06 529/week @ 2022-11-13 437/week @ 2022-11-20 440/week @ 2022-11-27

2,026 downloads per month
Used in 2 crates

Apache-2.0

170KB
3.5K SLoC

Russh

Rust All Contributors

Async (tokio) SSH2 client and server implementation.

This is a fork of Thrussh by Pierre-Étienne Meunier which adds:

✨ = added in this fork

  • More safety guarantees ✨
  • forward-tcpip (remote port forwarding) ✨
  • Ciphers:
    • chacha20-poly1305@openssh.com
    • aes256-gcm@openssh.com
    • aes256-ctr
    • aes192-ctr
    • aes128-ctr
  • Key exchanges:
    • curve25519-sha256@libssh.org
    • diffie-hellman-group1-sha1
    • diffie-hellman-group14-sha1
    • diffie-hellman-group14-sha256
  • HMACs:
    • 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
  • Host keys:
    • ssh-ed25519
    • rsa-sha2-256
    • rsa-sha2-512
    • ssh-rsa
  • Dependency updates

Safety

  • deny(clippy::unwrap_used)
  • deny(clippy::expect_used)
  • deny(clippy::indexing_slicing)
  • deny(clippy::panic)
  • Exceptions are checked manually

Panics

  • When the Rust allocator fails to allocate memory during a CryptoVec being resized.

Unsafe code

  • cryptovec uses unsafe for faster copying, initialization and binding to native API.
  • russh-libsodium uses unsafe for libsodium bindings.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Mihir Samdarshi

📖

Connor Peet

💻

KVZN

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

Dependencies

~7–13MB
~237K SLoC