1.9k GitHub stars and counting — Eugeny/russh is a Rust project TopGit is tracking across repositories on the platform. Rust SSH client & server library
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
A low-level, async SSH 2.0 client and server library for Rust / Tokio.
Russh gives you direct access to the SSH protocol: channels, authentication, key exchange, port and socket forwarding. It is written in safe Rust, uses async traits, and supports a broad range of algorithms for wide scale interoperability with real-world servers and clients.
Async-native - integrates directly with Tokio, AsyncRead/AsyncWrite channels
Broad interoperability - safe algorithms by default, with opt-in support for legacy ones
Safety-focused - panics, unwrap/expect and unchecked indexing are denied by default
Getting started
Add russh to your Cargo.toml, choosing a crypto backend feature (see below):
[dependencies]
russh = { version = "0.63", features = ["aws-lc-rs"] }
tokio = { version = "1", features = ["full"] }
Then have a look at the examples:
simple client
interactive PTY client
server
SFTP client
SFTP server
API documentation is on docs.rs
Crypto backends
Russh requires exactly one crypto backend. Enable the aws-lc-rs or ring crate feature.
# aws-lc-rs (default in most setups)
russh = { version = "0.63", features = ["aws-lc-rs"] }
# or ring (keep `flate2` and `rsa` when disabling default features)
russh = { version = "0.63", default-features = false, features = ["ring", "flate2", "rsa"] }
Supported algorithms
Russh aims for broad interoperability, so it supports both algorithms currently considered safe and a set of older ones that allow connections to older switches etc. Legacy algorithms are opt in.
Russh is built to withstand malicious/misbehaving peers.
deny(clippy::unwrap_used)
deny(clippy::expect_used)
deny(clippy::indexing_slicing)
deny(clippy::panic)
Exceptions are reviewed and justified manually.
Unsafe code
cryptovec uses unsafe for faster copying, initialization, and binding to native APIs.
Ecosystem
russh-sftp - server-side and client-side SFTP subsystem support for russh; see russh/examples/sftp_server.rs or russh/examples/sftp_client.rs.
async-ssh2-tokio - simple high-level API for running commands over SSH.
Adopters
HexPatch - A binary patcher and editor written in Rust with a terminal user interface (TUI).
Uses russh::client and russh_sftp::client to allow remote editing of files.
kartoffels - A game where you're given a potato and your job is to implement a firmware for it.
Uses russh::server to deliver the game, using ratatui as the rendering engine.
kty - The terminal for Kubernetes.
Uses russh::server to deliver the ratatui based TUI and russh_sftp::server to provide scp based file management.
lapdev - Self-hosted remote dev environment.
Uses russh::server to construct a proxy into your development environment.
medusa - A fast and secure multi-protocol honeypot.
Uses russh::server to be the basis of the honeypot.
rebels-in-the-sky - P2P terminal game about space pirates playing basketball across the galaxy.
Uses russh::server to deliver the game, using ratatui as the rendering engine.
warpgate - Smart SSH, HTTPS and MySQL bastion that requires no additional client-side software.
Uses russh::server in addition to russh::client as part of the smart SSH functionality.
Devolutions Gateway - Establish a secure entry point for internal or external segmented networks that require authorized just-in-time (JIT) access.
Uses russh::client for the web-based SSH client of the standalone web application.
Sandhole - Expose HTTP/SSH/TCP services through SSH port forwarding. A reverse proxy that just works with an OpenSSH client.
Uses russh::server for reverse forwarding connections, local forwarding tunnels, and the ratatui based admin interface.
Motor OS - A new Rust-based operating system for VMs.
Uses russh::server as the base for its own SSH Server.
Cubic VM - A lightweight command-line manager for virtual machines.
Uses russh::client and russh_sftp::client to access the virtual machine instances.
ferrissh - An async SSH CLI scraper library for network device automation in Rust.
Uses russh::client for SSH transport, authentication, and interactive PTY sessions.
Yazi - Blazing fast terminal file manager written in Rust, based on async I/O.
Uses russh::client to implement an async SFTP provider for remote file management.
GitArena - Software development platform with built-in VCS, issue tracking and code review.
Uses russh::server to allow Git operations over SSH.
Calagopus - Fast, efficient and scalable game hosting - built for everyone.
Uses russh::server for efficiently implementing SSH shells and SFTP file management.
Oryxis - Rust-native SSH client with an encrypted vault, P2P sync and an embedded terminal.
Uses russh::client for connections, jump hosts, SOCKS/HTTP/command proxies and SFTP.
react-native-ssh - Native SSH client for React Native and Expo.
Uses russh::client as the SSH transport implementation behind Nitro Modules bindings.
History
Russh began as a fork of Thrussh by Pierre-Étienne Meunier, originally extended to provide the SSH backend for Warpgate.
It has since been substantially reworked, and is maintained independently. Russh prioritises safety-by-default and broad algorithm interoperability.
Thanks to Pierre-Étienne and the Thrussh contributors for the original foundation.
Contributors ✨
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 💻
Swelio 💻
Joshua Benz 💻
Jan Holthuis 🛡️
mateuszkj 💻
Saksham Mittal 💻
Lucas Kent 💻
Raphael Druon 💻
Maya the bee 💻
Milo Mirate 💻
George Hopkins 💻
Åke Amcoff 💻
Brendon Ho 💻
Samuel Ainsworth 💻
Sherlock Holo 💻
Alessandro Ricottone 💻
T0b1-iOS 💻
Shoaib Merchant 💻
Michael Gleason 💻
Ana Gelez 💻
Tom König 💻
Pierre Barre 💻
Jean-Baptiste Skutnik 💻
Adam Chappell 💻
Yaroslav Bolyukin 💻
Julian 💻
Thomas Rampelberg 💻
Kaleb Elwert 📖
Gary Guo 💻
irvingouj @ Devolutions 💻
Toni Peter 💻
Nathaniel Bajo 💻
Eric Rodrigues Pires 💻
Jerome Gravel-Niquet 💻
Quentin Santos 📖
André Almeida 💻
Mattias Eriksson 💻
Josh McKinney 💻
citorva 💻
Eric Seppanen 💻
Eric Seppanen 💻
Patryk Wychowaniec 💻
@RandyMcMillan 💻
handewo 💻
Chris 💻
procr1337 💻
iHsin 💻
Uli Schlachter 💻
Jacob Van Brunt 💻
lgmugnier 💻
Mingwei Samuel 💻
Pascal Grange 💻
wyhaya 💻
Philippe Laflamme 💻
Tom 💻
vzex 💻
Kenny Root 💻
Môshe van der Sterre 💻
Lucy 💻
Mark Bundschuh 💻
tayu0110 💻
Roger Knecht 💻
Guilherme Fontes 💻
Lyn 💻
Mota-Link 💻
Mika Cohen 💻
François Bernier 💻
kpcyrd 💻
Corey Leavitt 💻
wi-adam 💻
Artem Medvedev 💻
ztbh 💻
Moder Steven 💻
Jeongkyu Shin 💻
PokAhonTAS911 💻
ayamir 💻
Luiz Ribeiro 💻
biao29 💻
Georg von Zengen 💻
tluyben 💻
Marko Vejnovic 💻
t8y2 💻
This project follows the all-contributors specification. Contributions of any kind welcome!
The most recent commit recorded on Eugeny/russh was 2 months ago, based on the GitHub push timestamp. The repository has 311 forks — one of the better signals of community interest.
How many stars does Eugeny/russh have?
Eugeny/russh has 1.9k GitHub stars — refresh the page for the live number, or check github.com/Eugeny/russh. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is Eugeny/russh open source?
Yes — Eugeny/russh ships under the Apache-2.0 license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/Eugeny/russh.
What else is in the Backend space?
Eugeny/russh is tracked by TopGit under the Backend category, alongside 7 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What is Eugeny/russh?
Eugeny/russh (Eugeny/russh) is a Rust project on GitHub. From the project's own README: Rust SSH client & server library
What language is Eugeny/russh written in?
Eugeny/russh is written primarily in Rust. GitHub's language field is based on the largest share of bytes in the default branch.
What license does Eugeny/russh use?
Eugeny/russh is released under the Apache-2.0 license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where do I read more about Eugeny/russh?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/Eugeny/russh is the definitive source.
Read full README in the tab above.
Still deciding about russh?
One click hands the question to an AI along with this page — see what it says about russh.