# Eugeny/russh

Rust SSH client & server library

Repository: https://github.com/Eugeny/russh
Canonical: https://ross.abutalabs.com/products/russh
Homepage: https://docs.rs/russh
Language: Rust
License: Apache-2.0
License Family: permissive
Topics: native, rust, ssh, ssh-client, ssh-client-library, ssh-server, ssh-server-library
Last push: 2026-08-23T18:16:24+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 99, longevity 100
- inputs: {"age_days": 1668, "days_push": 10, "days_rel": 10, "gap_med": 11.5, "n_releases_24m": 43}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1840, forks 284 (observed 2026-08-28T04:05:42.913854+00:00)

## What it is
Russh is a low-level, Tokio-based SSH2 client and server library for Rust, forked from Thrussh. It supports a wide range of ciphers, key exchanges, MACs, authentication methods, port and UNIX socket forwarding, SFTP, and OpenSSH extensions.

## Use cases
- implement an SSH client in Rust
- build an SSH server in Rust
- run remote commands over SSH programmatically
- set up local and remote port forwarding
- transfer files with SFTP from Rust
- add SSH agent forwarding to an app

## When to choose
- you need async SSH client or server functionality in a Tokio-based Rust project
- you need broad algorithm support including legacy ciphers and post-quantum key exchange
- you want panic-safe, memory-conscious SSH implementation

## When to avoid
- you just need a CLI ssh command rather than a library
- you need a high-level wrapper with simple one-call APIs
- your project is not in Rust

## Facets
- artifact type: library
- maturity: active
- function: http-client, networking, security, cryptography, sdk
- domain: networking, security, developer-tools, backend
- platform: rust, cross-platform, windows
- tags: ssh, ssh-client, ssh-server, tokio, async, sftp, port-forwarding, thrussh-fork, linux, macos

## Member repositories
- Eugeny/russh (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:42.913854+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:18:02.428108+00:00, confidence not recorded.
  - readme: https://github.com/Eugeny/russh (fetched 2026-08-28T04:05:42.913854+00:00, sha 77be424b1b16)
  - homepage: https://docs.rs/russh (fetched 2026-08-29T10:57:14.480334+00:00, sha 27fa10cd977f)
  - site_page: https://docs.rs/about/redirections (fetched 2026-08-29T10:57:14.497654+00:00, sha 1b1efd93105f)
  - site_page: https://docs.rs/ (fetched 2026-08-29T10:57:14.484972+00:00, sha ba8a785fcc6d)
  - site_page: https://docs.rs/crate/russh/latest (fetched 2026-08-29T10:57:14.487322+00:00, sha 2ade9fcb0b05)
  - site_page: https://docs.rs/crate/russh/latest/features (fetched 2026-08-29T10:57:14.489504+00:00, sha c757361388a7)
  - site_page: https://docs.rs/about (fetched 2026-08-29T10:57:14.491133+00:00, sha 29ab7986fbf5)
  - site_page: https://docs.rs/about/badges (fetched 2026-08-29T10:57:14.492844+00:00, sha 6588cac258af)
  - site_page: https://docs.rs/about/builds (fetched 2026-08-29T10:57:14.494423+00:00, sha 811231ca4680)
  - site_page: https://docs.rs/about/metadata (fetched 2026-08-29T10:57:14.496107+00:00, sha 0dcdccb2b2b2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
