Omnisor โ€“ High-Level Rust SSH Client for Network Devices ๐Ÿฆ€

โš“ Rust    ๐Ÿ“… 2026-01-10    ๐Ÿ‘ค surdeus    ๐Ÿ‘๏ธ 3      

surdeus

logo

example1
configure-interface-and-show-output

GitHub: ValdonVitija (ValdonVitijaa) ยท GitHub
Crates: crates.io: Rust Package Registry

For quite some time, I have been playing with the internals of russh, which is a low-level Rust SSH2 crate (library). I was creating things locally purely for my own use. After some time, I came across async-ssh2-tokio, which abstracts over russh, allowing you to connect to an SSH device and run commands. I tried to use it to connect to Cisco router lab devices(simulated on GNS3), but it didnโ€™t really offer what I needed, so I decided to fork async-ssh2-tokio into omnisor to add specialized support for network devices.

What Omnisor Offers

  • Standard SSH Client โ€“ Connect, authenticate, execute commands on network devices, and fetch output (similar to netmiko, but in Rust; except that netmiko is really mature as a library).
  • Vendor Support โ€“ Built-in support for Cisco, Juniper, and more coming soon. (The project structure makes it quite easy to add support for new vendors.)
  • Legacy Device Support โ€“ Configurable SSH algorithms for older network devices.

Currently omnisor is written in Rust for Rust, but if this crate becomes stable enough with extensive support, I will offer try to offer python bindings, to make this library usable from Python.

1 post - 1 participant

Read full topic

๐Ÿท๏ธ Rust_feed