Low-level Tokio SSH2 client and server implementation.
This is a fork of Thrussh by Pierre-Étienne Meunier:
✨ = added in Russh
- 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
✨
- 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
✨
- Host keys:
ssh-ed25519
rsa-sha2-256
rsa-sha2-512
ssh-rsa
✨
- Dependency updates
- OpenSSH keepalive request handling ✨
- OpenSSH agent forwarding channels ✨
deny(clippy::unwrap_used)
deny(clippy::expect_used)
deny(clippy::indexing_slicing)
deny(clippy::panic)
- Exceptions are checked manually
- When the Rust allocator fails to allocate memory during a CryptoVec being resized.
cryptovec
usesunsafe
for faster copying, initialization and binding to native API.
- russh-sftp - server-side SFTP subsystem support for
russh
- seerussh/examples/sftp_server.rs
. - async-ssh2-tokio - simple high-level API for running commands over SSH.
Thanks goes to these wonderful people (emoji key):
Mihir Samdarshi 📖 |
Connor Peet 💻 |
KVZN 💻 |
Adrian Müller (DTT) 💻 |
Simone Margaritelli 💻 |
Joe Grund 💻 |
AspectUnk 💻 |
Simão Mata 💻 |
Mariotaku 💻 |
yorkz1994 💻 |
Ciprian Dorin Craciun 💻 |
Eric Milliken 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!