Low-level Tokio SSH2 client and server implementation.
Examples: simple client, interactive PTY client, server, SFTP client, SFTP server.
This is a fork of Thrussh by Pierre-Étienne Meunier.
✨ = added in Russh
- More panic safety ✨
async_traitsupport ✨direct-tcpip(local port forwarding)forward-tcpip(remote port forwarding) ✨direct-streamlocal(local UNIX socket forwarding, client only) ✨- Ciphers:
[email protected][email protected]✨aes256-ctr✨aes192-ctr✨aes128-ctr✨
- Key exchanges:
[email protected]diffie-hellman-group1-sha1✨diffie-hellman-group14-sha1✨diffie-hellman-group14-sha256✨diffie-hellman-group16-sha512✨
- MACs:
hmac-sha1✨hmac-sha2-256✨hmac-sha2-512✨[email protected]✨[email protected]✨[email protected]✨
- Host keys:
ssh-ed25519rsa-sha2-256rsa-sha2-512ssh-rsa✨ecdsa-sha2-nistp256✨ecdsa-sha2-nistp384✨ecdsa-sha2-nistp521✨
- Dependency updates
- OpenSSH keepalive request handling ✨
- OpenSSH agent forwarding channels ✨
- OpenSSH
server-sig-algsextension ✨
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.
cryptovecusesunsafefor faster copying, initialization and binding to native API.
- russh-sftp - server-side and client-side SFTP subsystem support for
russh- seerussh/examples/sftp_server.rsorrussh/examples/sftp_client.rs. - async-ssh2-tokio - simple high-level API for running commands over SSH.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!