Overview of Russh features and supported protocols
mainRussh is a low-level Tokio-based SSH2 client and server implementation. It supports a wide range of SSH primitives including:
Port Forwarding
direct-tcpip(local port forwarding)forward-tcpip(remote port forwarding)direct-streamlocal(local UNIX socket forwarding, client only)forward-streamlocal(remote UNIX socket forwarding)
Supported Ciphers
chacha20-poly1305@openssh.comaes128-gcm@openssh.com,aes256-gcm@openssh.comaes128-ctr,aes192-ctr,aes256-ctraes128-cbc,aes192-cbc,aes256-cbc,3des-cbc
Key Exchanges
curve25519-sha256@libssh.orgdiffie-hellman-group-sha1(GEX)diffie-hellman-group1-sha1,diffie-hellman-group14-sha1diffie-hellman-group-sha256(GEX),diffie-hellman-group14-sha256,diffie-hellman-group16-sha512ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521
MACs
hmac-sha1,hmac-sha2-256,hmac-sha2-512hmac-sha1-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com
Authentication
- Host keys & Public key auth:
ssh-ed25519,rsa-sha2-256,rsa-sha2-512,ssh-rsa,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521 - Methods:
password,publickey,keyboard-interactive,none, and OpenSSH certificates.