#connection-manager #ssh #ratatui #tui

bin+lib susshi

A modern terminal-based SSH connection manager with a beautiful Catppuccin TUI

12 unstable releases (3 breaking)

Uses new Rust 2024

0.14.0 Mar 25, 2026
0.13.6 Mar 23, 2026
0.12.2 Mar 10, 2026
0.11.0 Mar 3, 2026

#497 in Network programming

MIT license

685KB
11K SLoC

🍣 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.

susshi TUI screenshot

Table of Contents

Quick Start

Install and connect in less than 2 minutes.

# 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

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)
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-linux-amd64-glibc217
chmod +x susshi-linux-amd64-glibc217
sudo mv susshi-linux-amd64-glibc217 /usr/local/bin/susshi

# Linux x86_64 (musl fallback)
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-linux-amd64-musl
chmod +x susshi-linux-amd64-musl
sudo mv susshi-linux-amd64-musl /usr/local/bin/susshi

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
susshi

# Direct one-shot connection
susshi --direct ops-user@198.51.100.10

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 #tag tokens (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.
  • Wallix authorization auto-resolution with targeted fallback popup.
  • Hooks (pre_connect_hook, post_disconnect_hook).
  • ~/.ssh/config import and Ansible inventory export.
  • Variable interpolation with _vars and built-in {{ index }}.

Installation

Pre-built binaries

# 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 (legacy glibc-compatible)
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-linux-amd64-glibc217
chmod +x susshi-linux-amd64-glibc217
sudo mv susshi-linux-amd64-glibc217 /usr/local/bin/susshi

# Linux x86_64 (musl fallback)
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-linux-amd64-musl
chmod +x susshi-linux-amd64-musl
sudo mv susshi-linux-amd64-musl /usr/local/bin/susshi

# macOS Intel
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-macos-amd64

# macOS Apple Silicon
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-macos-arm64

Ubuntu / Debian (x86_64, ARM64)

Install from native DEB packages:

# x86_64
sudo apt-get update && sudo apt-get install -y openssh-client xclip
wget https://github.com/yatoub/susshi/releases/latest/download/susshi_*_amd64.deb
sudo dpkg -i susshi_*_amd64.deb

# ARM64
wget https://github.com/yatoub/susshi/releases/latest/download/susshi_*_arm64.deb
sudo dpkg -i susshi_*_arm64.deb

Fedora / RHEL (x86_64)

Install from native RPM packages:

sudo dnf install openssh-clients
wget https://github.com/yatoub/susshi/releases/latest/download/susshi-*.x86_64.rpm
sudo dnf install ./susshi-*.x86_64.rpm

AUR (Arch Linux)

paru -S susshi-bin  # pre-compiled binary
paru -S susshi      # build from source

Build from source

Requires Rust & Cargo and a truecolor terminal.

git clone https://github.com/yatoub/susshi.git
cd susshi
cargo build --release
sudo cp target/release/susshi /usr/local/bin/

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

Wallix authorization flow (v0.15)

  • susshi builds the Wallix SSH User identity from your selected server host.
  • wallix.group is 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
susshi --direct ops-user@app-01.internal.example
susshi --jump ops-user@198.51.100.50
susshi --wallix web-01.internal.example

# Override SSH parameters
susshi --direct app-01.internal.example --user deploy --port 2222 --key ~/.ssh/deploy_rsa

# Alternate config file
susshi --config ~/work/.susshi.yml

# Show all options
susshi --help

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

Contributing

Contributions are welcome. Please open a Pull Request.

License

This project is licensed under the MIT License.

Dependencies

~16–34MB
~503K SLoC