mrkeyoor.com_
Wed 16 Sept 16:01 UTC
Dev Toolsevaluationupdated 16 Sept 2026

omnyssh review

OmnySSH is an open-source SSH manager with both a desktop app and a terminal interface. It puts host status, terminal tabs, SFTP transfers, reusable command snippets, SSH config imports, and key setup in one local application without requiring an account.

Verdict

Our OmnySSH build passed in 114 seconds, and all 886 tests passed in 42 seconds after a 14-second install. That makes the small Rust workspace easy to trust as code, while open password-storage and release-verification reports still need a security-conscious buyer's attention. Use it for a local visual dashboard over ordinary SSH hosts; keep OpenSSH nearby for forwarding, keyboard-interactive 2FA, and unusual config rules.

We ran it

Lab card: what happened when we ran omnysshScreenshot of omnyssh (github.com/timhartmann7/omnyssh)
Install✓ · 14s398 packages
Build✓ · 114s
Tests✓ · 42s886 passed · 0 failed of 886 (cargo test)
Repo231 files~35,881 lines of source · 3.5 MB · 2 CI workflows

Answers from our run

Does omnyssh build from source?

Dependencies installed in 14 seconds (398 packages), and the build succeeded in 114 seconds. We cloned commit 72a163f into a clean Debian container with 3 CPUs and no project-specific setup.

Do omnyssh's tests pass?

Yes: 886 of 886 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use omnyssh?

Anyone who must keep saved passwords encrypted at rest: open issue 100 reports a password remaining visible in hosts.toml after key setup.

What are the alternatives to omnyssh?

Tabby, electerm, OpenSSH Portable. Our OmnySSH build passed in 114 seconds, and all 886 tests passed in 42 seconds after a 14-second install.

Setup4/5Prebuilt apps are easy; source build passed but took 114 seconds
Docs5/5Install, key setup, platforms, architecture, and dev flow are clear
Community3/5685 stars and active September issues; last code push was August 22
Maturity3/5886 tests passed, but auth and release-hardening issues remain

Who it’s for

Developers and small operations teams managing enough servers that plain terminal tabs have become hard to track.
People who want a local desktop or TUI dashboard without creating a vendor account.
Operators whose hosts are already described in ~/.ssh/config, including current ProxyJump setups.
Users who want terminal, SFTP, server metrics, and repeatable command snippets in one application.
Rust contributors who prefer a small cargo workspace with a UI-free SSH core.

Who it’s NOT for

Anyone who must keep saved passwords encrypted at rest: open issue 100 reports a password remaining visible in hosts.toml after key setup.
SSH estates that require keyboard-interactive 2FA: issue 47 reports that a Google Authenticator setup could not be used.
Users who rely on local port forwarding or LocalForward: issues 89 and 104 request tunneling because OmnySSH does not currently provide it.
People who need SSH agent forwarding for remote sudo or chained access: that remains open in issue 101.
Large OpenSSH configs built around wildcard Host defaults: issue 98 requests the pattern matching and per-option inheritance that OpenSSH supplies.
Security teams that require independently signed release assets: issue 33 says the install script does not verify its published checksum file and release checksums are unsigned.

Setup reality

Our commit 72a163f checkout installed 398 packages in 14 seconds. The build succeeded in 114 seconds, and all 886 cargo tests passed in 42 seconds. The repository was 3.5 MB, with 231 files and about 35,881 source lines.

Users can install a desktop build from the release page or use the shell installer on macOS and Linux. The TUI is also available through Cargo, Homebrew, Nix, or release binaries. OmnySSH reads ~/.ssh/config at startup and stores its own configuration under the platform's application data directory.

Source work needs stable Rust 1.76 or newer. The root cargo build covers the core and TUI only; the desktop GUI separately needs Node.js 20 or newer, Tauri 2, and its frontend dependencies. Our checkout had 2 CI workflow files, no Dockerfile, and no root tests directory.

A 3.5 MB repository supplies both desktop and terminal apps

Our OmnySSH checkout contained 231 files, about 35,881 source lines, and 3.5 MB before dependencies. The cargo workspace separates a UI-free SSH engine from the omny terminal app and a Tauri desktop app. Both interfaces cover the same practical jobs: a host dashboard, PTY terminal sessions, a two-panel SFTP browser, command snippets, search, and SSH key setup. The desktop version adds a visual server card layout, while the TUI keeps the keyboard-driven workflow.

OmnySSH reads an existing ~/.ssh/config at startup and says it never writes back to that file. Version 1.1.2 can follow Include files and route current ProxyJump entries through their bastions. Imported hosts can be edited by saving an OmnySSH-owned copy, but later changes in the original SSH config stop reaching that adopted host. That is a reasonable ownership boundary, and the release notes explain it before the user saves.

What happened when we ran it

Our sandbox installed 398 packages in 14 seconds, then completed the Rust build in 114 seconds. We used commit 72a163f in an unprivileged container with 3 CPUs, 12 GB of RAM, no secrets, and the lab-rust:1 image. The build time is noticeable for a 3.5 MB checkout, but it ended cleanly. We found 2 CI workflow files, no Dockerfile, and no root tests directory.

Cargo test finished in 42 seconds with 886 passing tests and 0 failures. Tests live within the crates rather than a root folder, so the directory signal did not indicate missing coverage. The lab run covered the Rust workspace defined by the repository. It did not launch the Tauri desktop app, connect to a real SSH server, transfer files, change sshd_config, or verify the published installers. Those paths still need testing on the operating systems and servers you use.

One-click key setup changes a live SSH server

The key setup flow is unusually ambitious for a desktop SSH client. It generates an Ed25519 key, appends the public key to authorized_keys, opens a fresh connection to prove that key works, and only then disables password login. Before editing sshd_config, OmnySSH saves a server-side backup. The README says a failed step restores that backup. Starting the operation is the confirmation: there is no second prompt before the password setting changes.

That workflow can remove a recurring piece of manual hardening, but it has administrator consequences. The README itself tells users to inspect key_setup.rs before pointing it at production. Do that. Test first on a disposable host with console access, confirm the account's sudo behavior, and verify how included SSH daemon configuration files are handled. A rollback path is useful, yet a remote edit to authentication policy remains different from adding a harmless client profile.

Version 1.1.2 fixed ProxyJump and international metric parsing

Release v1.1.2 shipped on August 22, 2026. It fixed bastion routing across terminal, metrics, SFTP, snippets, and key setup, including multi-hop chains and per-hop host-key checks. It also forced a predictable locale for remote metric commands after systems using decimal commas could display idle CPUs as heavily loaded. Network appliances can now use a TCP port check instead of repeated SSH logins when they cannot run shell commands. These fixes address real mixed-estate behavior.

The same release notes acknowledge a packaging mistake in v1.1.1: the published Windows installer contained an older desktop binary. Version 1.1.2 changed the release job to discard previous artifacts and refuse publication when expected bundles are missing. That repair is welcome, and it is also a reason to keep release provenance in view. Open issue 33 says the one-line installer skips checksum verification and that the published checksums lack an independent signature.

Password storage and missing SSH features narrow the audience

Open issue 100 reports that one host's password remained readable in hosts.toml after key setup, despite the form describing the password as initial-setup data. Issue 99 separately asks for session-only password prompts for imported hosts, which currently fail if keys do not work and no password was saved. Until that behavior changes, password-only users face a bad choice between persistence and failed login. Prefer agent or key authentication, and inspect the saved configuration after migration.

Several OpenSSH features are also absent. Issues 89 and 104 request local forwarding, issue 101 asks for agent forwarding, issue 47 reports trouble with keyboard-interactive 2FA, and issue 98 requests wildcard Host inheritance. The omissions matter because OmnySSH presents itself as the main window for a server fleet. An operator using tunnels, PAM challenges, or layered config defaults cannot yet treat it as a complete replacement for the system ssh command.

Thirty open items keep this at a careful v1.1.2 recommendation

GitHub showed 685 stars, 41 forks, and 30 combined open issues and pull requests on September 16, 2026. The last code push and v1.1.2 release were both August 22, while issue activity continued into September. That is a small, maintained project rather than an abandoned one. The queue includes feature requests, packaging reports, and security concerns, so the raw total should not be read as 30 confirmed bugs.

OmnySSH is a good fit for someone who wants ten server shells and status cards in one local window without an account. The 886 passing tests and clean build support that recommendation. Keep passwords out of its config where possible, install only from the official repository, and verify the key-setup path on a noncritical host first. If forwarding or 2FA is part of daily SSH work, OpenSSH remains the safer primary client.

Alternatives

ProjectWhat it isPick it when
Tabby gh↗A cross-platform terminal with SSH profiles, plugins, and a polished desktop interface.pick this instead when terminal customization and a larger plugin ecosystem matter more than OmnySSH's server metrics dashboard.
electermA desktop client covering SSH, SFTP, FTP, serial, RDP, VNC, and other remote protocols.pick this instead when SSH is only one of several remote-access protocols you need in the same app.
OpenSSH PortableThe portable command-line OpenSSH implementation used across Unix-like systems.pick this instead when full SSH config behavior, forwarding, and scriptability matter more than a dashboard or SFTP GUI.

What people are saying

  1. [github-trending] timhartmann7/omnyssh

Sources

  1. OmnySSH repository README
  2. OmnySSH contributing guide
  3. OmnySSH v1.1.2 release
  4. Plaintext password report 100
  5. Port forwarding request 104
  6. SSH agent forwarding request 101
  7. Keyboard-interactive 2FA report 47
  8. Release supply-chain report 33

More dev tools reviews

dora · fd · tinycast · crystal · pydantic · IKONA-Security · the whole board →