Eugeny/russh được TopGit xếp vào nhóm dự án backend, với 1.9k sao trên GitHub, viết chủ yếu bằng Rust. Rust SSH client & server library
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
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!
Eugeny/russh thuộc nhóm Backend trên TopGit, cùng 7 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về Eugeny/russh ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/Eugeny/russh là nguồn chính thức.
Eugeny/russh có bao nhiêu sao?
Eugeny/russh có 1.9k sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/Eugeny/russh. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
Eugeny/russh có phải mã nguồn mở không?
Có — Eugeny/russh phát hành theo license Apache-2.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/Eugeny/russh.
Eugeny/russh còn đang phát triển không?
Commit gần nhất trên Eugeny/russh là 2 tháng trước (theo timestamp GitHub). Repo có 311 fork — một chỉ báo về mức độ quan tâm của cộng đồng.
Eugeny/russh dùng license gì?
Eugeny/russh phát hành theo license Apache-2.0. Nên mở file LICENSE trên GitHub để xác nhận — license metadata đôi khi lệch với thực tế dự án.
Eugeny/russh là gì?
Eugeny/russh (Eugeny/russh) là dự án Rust trên GitHub. Theo mô tả gốc: Rust SSH client & server library
Eugeny/russh viết bằng ngôn ngữ gì?
Eugeny/russh chủ yếu viết bằng Rust. Trường "language" của GitHub dựa trên phần lớn byte ở nhánh mặc định.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về russh?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về russh.