🍣 susshi
susshi is a modern, terminal-based SSH connection manager written in Rust. It helps you organize servers, handle complex access flows (jump hosts, Wallix bastions), and connect fast through a clean Catppuccin-powered TUI.
Table of Contents
- 🍣 susshi
Quick Start
Install and connect in less than 2 minutes.
# Linux x86_64
If you run an older distro with an older glibc (for example Linux Mint 21.x / Ubuntu 22.04), use one of these alternatives:
# Linux x86_64 (legacy glibc-compatible)
# Linux x86_64 (musl fallback)
Create ~/.susshi.yml:
defaults:
user: "admin"
theme: mocha
groups:
- name: "Production"
servers:
- name: "api-01"
host: "10.0.1.10"
mode: "direct"
Use either mode:
# Open the TUI
# Direct one-shot connection
For a complete config example, see examples/full_config.yaml.
Why susshi
Core Features
- Hierarchical inventory: groups, environments, servers.
- Mode inheritance: defaults -> group -> environment -> server.
- Connection modes: direct, jump (single or multi-hop), wallix.
- Multi-file config with
includes:and recursive resolution. - Hot reload (
r) without restarting the app.
Productivity Features
- Search by name/host with live result counter.
- Tag filtering with
#tagtokens (AND semantics). - Favorite servers (
f) and favorites-only mode (F). - Recent-sort view (
H) by last used server. - Clipboard copy of generated SSH command (
y).
Advanced Features
- Quick diagnostics (
d) with system stats and filesystem checks. - Ad-hoc non-interactive SSH command runner (
x). - SSH tunnel manager (
T) with persistent user overrides. - SCP transfer form (
s) with live progress. - Hooks (
pre_connect_hook,post_disconnect_hook). ~/.ssh/configimport and Ansible inventory export.- Variable interpolation with
_varsand built-in{{ index }}.
Installation
Pre-built binaries
# Linux x86_64
# Linux x86_64 (legacy glibc-compatible)
# Linux x86_64 (musl fallback)
# macOS Intel
# macOS Apple Silicon
Ubuntu / Debian (x86_64, ARM64)
Install from native DEB packages:
# x86_64
&&
# ARM64
Fedora / RHEL (x86_64)
Install from native RPM packages:
AUR (Arch Linux)
Build from source
Requires Rust & Cargo and a truecolor terminal.
Configuration
susshi reads ~/.susshi.yml by default.
Minimal template
defaults:
user: "admin"
ssh_key: "~/.ssh/id_ed25519"
theme: mocha # latte | frappe | macchiato | mocha
groups:
- name: "Infrastructure"
servers:
- name: "proxmox-host"
host: "192.168.1.100"
mode: "direct"
Configuration docs
- Full annotated reference: examples/full_config.yaml
- Full configuration guide: docs/configuration.md
- Wallix behavior and auto-selection details: docs/wallix.md
CLI Usage
# Direct / jump / wallix one-shot connection
# Override SSH parameters
# Alternate config file
# Show all options
Detailed CLI examples: docs/cli.md
TUI Usage
Essential keybindings
| Key | Action |
|---|---|
j / ↓ |
Move selection down |
k / ↑ |
Move selection up |
Enter |
Connect to server / Toggle group |
Space |
Toggle expand/collapse group |
/ |
Enter search mode |
Esc |
Cancel search or close overlays |
v |
Toggle verbose SSH mode |
q |
Quit |
Advanced keybindings
| Key | Action |
|---|---|
Tab, 1, 2, 3 |
Switch connection mode |
d |
Quick diagnostics |
x |
Ad-hoc SSH command |
T |
Tunnel manager |
s |
SCP transfer form |
f / F |
Favorite toggle / favorites-only view |
r |
Hot-reload configuration |
C |
Collapse all |
H |
Toggle recent-sort |
y |
Copy SSH command |
Detailed TUI behavior and visuals: docs/tui.md
Advanced Guides
- Configuration model and inheritance: docs/configuration.md
- Wallix matching and fallback flow: docs/wallix.md
- Full CLI cookbook (import/export included): docs/cli.md
- TUI interactions, diagnostics, tunnels and SCP: docs/tui.md
Contributing
Contributions are welcome. Please open a Pull Request.
License
This project is licensed under the MIT License.