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 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: "ops-user"
theme: mocha
groups:
- name: "Production"
servers:
- name: "api-01"
host: "198.51.100.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) with command history (↑/↓ to navigate). - Group overview dashboard (
o): parallel SSH probe of all servers in the selected group — live ✓/✗ status, load average, RAM%, disk%. - Split pane (
|): pin a server to a dedicated right panel while browsing the rest of the tree. - Keyboard help overlay (
h): full reference of all keybindings, displayed in-app. - SSH tunnel manager (
T) with persistent user overrides. - SCP transfer form (
s) with live progress. - Wallix authorization auto-resolution with targeted fallback popup.
- Hooks (
pre_connect_hook,post_disconnect_hook). ~/.ssh/configimport and inventory export to Ansible, Terraform, and Nmap target lists.--list --json: dump all servers as JSON forjq/fzfpipelines.--exec-group <group> --exec-cmd <cmd>: run a non-interactive SSH command on a whole group in parallel.- Remote includes over HTTPS:
path: https://…in theincludessection. - Variable interpolation with
_varsand built-in{{ index }}. - SSH certificate support (
ssh_cert): pass a signed certificate alongside the private key. - SSH agent socket (
ssh_agent_sock): route a server's connections through a dedicated agent socket (GPG, per-server isolation); setsSSH_AUTH_SOCKand-o IdentityAgent. - Server notes (
notes): free-form description per server, shown in the detail panel. - Live theme toggle (
Ctrl+Y): cycle Catppuccin variants without editing the config file.
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)
Windows
Partial support. The binary compiles and the CI smoke-tests it (
x86_64-pc-windows-msvc), but several features are Unix-only and return a runtime error on Windows:
- Interactive SSH sessions — PTY allocation via
forkptyis not available;connect()is a no-op.- Wallix bastion flow — depends on PTY; returns an error.
- SSH agent forwarding (
-A) — passed to thesshbinary; works if you have OpenSSH for Windows installed.- Clipboard copy — may require an extra dependency (
arboardbackend).The TUI, config parsing, YAML validation, and tunnel/SCP configuration all work on Windows. If you need full Windows support, contributions are welcome — see CONTRIBUTING.md.
Build from source
Requires Rust & Cargo and a truecolor terminal.
Configuration
susshi reads ~/.susshi.yml by default.
Minimal template
defaults:
user: "ops-user"
ssh_key: "~/.ssh/id_ed25519"
theme: mocha # latte | frappe | macchiato | mocha
groups:
- name: "Infrastructure"
servers:
- name: "proxmox-host"
host: "198.51.100.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
Wallix authorization flow (v0.15)
- susshi builds the Wallix SSH
Useridentity from your selected server host. wallix.groupis inherited from higher levels and can be overridden per server.- If authorization cannot be resolved unambiguously, a targeted TUI popup is shown and the chosen ID is cached for the current session.
- The nominal flow no longer displays the global Wallix pseudo-TTY menu.
Short troubleshooting is available in docs/wallix.md.
CLI Usage
# Direct / jump / wallix one-shot connection
# Override SSH parameters
# Alternate config file
# List all servers as JSON (pipe to jq / fzf)
|
# Run a command on all servers in a group (parallel)
# Export inventory
|
# 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 (↑/↓ = history navigation) |
o |
Group overview dashboard (parallel probe) |
| |
Pin/unpin server in split pane |
h |
Toggle keyboard help overlay |
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 (inheritance, targeted selection, troubleshooting): 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.