Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
π£ susshi
susshi is a terminal-based SSH connection manager written in Rust β hierarchical inventory, Catppuccin-themed TUI, jump hosts, Wallix bastions, tunnels, and SCP in one place.
π§ Why Susshi?
Why use susshi rather than plain ssh / a single ~/.ssh/config?
Managing dozens or hundreds of hosts with a single ssh_config file quickly becomes fragile and inefficient: no centralized visibility, no interactive interface, limited grouping, and poor ergonomics for common tasks (favorites, tunnels, SCP, bastions).
susshi addresses these gaps with clear benefits:
- Ergonomics & speed: fuzzy search, keyboard-driven navigation, help overlays and one-key connect β no editing and re-running commands.
- Infrastructure visibility: hierarchical grouping, favorites, tags and filtered views that make the inventory understandable at a glance.
- Bastion & multi-hop workflows: automatic orchestration of jump hops and Wallix integration β compose complex connection paths without repetitive
ssh_configentries. - Inventory management & reusability: variable inheritance, environment profiles, YAML includes and exports to Ansible/Terraform β maintain templates instead of copies.
- Built-in operations: tunnels, integrated SCP, pre/post-connect hooks and
--validatechecks to avoid human errors. - Security & privacy: local-first configuration, no cloud dependency, and automated audits in CI (cargo-deny).
In short: susshi preserves compatibility with the SSH ecosystem while adding ergonomics, visibility and primitives to automate and secure your connections at scale.
π₯ How it compares to the alternatives
| Feature | Susshi π£ | Standard SSH Config π | Termius / Warp βοΈ | ClusterSSH πΈοΈ |
|---|---|---|---|---|
| Interface | Modern, interactive TUI | Raw text / grep |
Heavy GUI / Electron | Outdated X11 windows |
| Speed | Instant (Native Rust) | Instant | Resource-heavy | Laggy on modern systems |
| Privacy | 100% Local & Open Source | 100% Local | Cloud-first / Proprietary | Local |
| Workflow | Fuzzy-finding & Tags | Manual typing | Mouse-driven | Multi-window chaos |
| Terminal Agnostic | Works in any terminal | Works in any terminal | Forces their own app | Requires X11 forwarding |
β¨ Key Benefits
- β‘ Blazing Fast & Lightweight: Built in Rust with a
Ratatuifrontend. It compiles to a tiny native binary (< 10MB) that starts instantly and consumes virtually zero RAM. - π Privacy & Security First: Your infrastructure layout is sensitive data. Susshi is local-first; it requires no login, no cloud synchronization, and features zero telemetry. Your data stays where it belongs: on your machine.
- π§ Keyboard-Driven Ergonomics: Keep your hands on the home row. Instantly filter through hundreds of servers using fuzzy search, navigate with Arrow/Vim keys, and connect with a single press of
Enter. - π§© Fits Your Existing Workflow: Susshi doesn't try to replace your ecosystem. It works perfectly inside
tmux,screen, or your favorite terminal emulator (Alacritty, Kitty, iTerm2, WezTerm), acting as a dedicated Unix utility that does one thing right.
Installation
# Linux x86_64
&&
# Linux x86_64 (musl fallback)
# macOS Apple Silicon
# macOS Intel
# Arch Linux
For DEB/RPM packages see the releases page.
Windows: partial support β TUI and config parsing work, interactive SSH (PTY) and Wallix are Unix-only.
Quick Start
Create ~/.susshi.yml:
defaults:
user: "ops-user"
ssh_key: "~/.ssh/id_ed25519"
theme: mocha # latte | frappe | macchiato | mocha
groups:
- name: "Production"
servers:
- name: "api-01"
host: "198.51.100.10"
mode: "direct"
Full annotated example: examples/full_config.yaml
Essential Keybindings
| Key | Action |
|---|---|
j / k |
Move down / up |
Enter |
Connect or toggle group |
/ |
Search |
Tab |
Switch mode (Direct / Jump / Wallix) |
f / F |
Favorite toggle / favorites-only view |
T |
Tunnel manager |
h |
Keyboard help overlay |
q |
Quit |
Documentation
| Guide | Description |
|---|---|
| docs/configuration.md | Full config schema, inheritance model, includes, _vars |
| docs/tui.md | TUI navigation, search, keybindings, diagnostics |
| docs/cli.md | One-shot connection, --validate, --exec-group |
| docs/import-export.md | Import from ~/.ssh/config, export to Ansible/Terraform/Nmap/CSV |
| docs/wallix.md | Wallix bastion configuration and troubleshooting |
| docs/tunnels.md | SSH tunnel configuration and TUI manager |
| docs/scp.md | In-TUI SCP file transfers |
| docs/hooks.md | Pre/post-connect shell hooks |
| docs/ssh-advanced.md | Certificates, agent sockets, ControlMaster, agent forwarding |
| docs/troubleshooting.md | Diagnostics, common issues, state file |
Contributing
Contributions are welcome. Please open a Pull Request β see CONTRIBUTING.md for conventions.
License
This project is licensed under the MIT License.