π£ susshi
May 28, 2026 Β· View on GitHub
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
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-linux-amd64
chmod +x susshi-linux-amd64 && sudo mv susshi-linux-amd64 /usr/local/bin/susshi
# Linux x86_64 (musl fallback)
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-linux-amd64-musl
# macOS Apple Silicon
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-macos-arm64
# macOS Intel
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-macos-amd64
# Arch Linux
paru -S susshi-bin
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"
susshi # open TUI
susshi --direct ops-user@198.51.100.10 # one-shot connection
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.