Open-source SSH workbench

A terminal
that remembers
what you did.

Color-coded command blocks, AI triage, and a CLI over the same database.

Recent
prod-api default
deploy@example.com
bastion-01 edge
10.0.0.11
db-primary infra
10.0.0.24
Docker · live
nginx-proxy
Running · 3 days
redis-cache
unhealthy · just now
rssh — prod-api● synced
deploy@prod:~$ systemctl status nginx
nginx.service - high performance web server
Active: active (running) since Mon; 14 days ago
deploy@prod:~$ tail -5 /var/log/app.log
09:41:07 ERROR Connection refused: redis:6379
09:41:08 INFO Retry succeeded, reconnected
deploy@prod:~$ df -h / | tail -1
/dev/sda1 50G 18G 30G 38% /
deploy@prod:~$ rssh ai "why is cpu high?"
route: java-cpu-playbook · next: waiting for approval
deploy@prod:~$ docker ps --format '{{.Names}}'
nginx-proxy · api-gateway · redis-cache (unhealthy)
deploy@prod:~$ kubectl get pods -n edge
api-7d9f6b8c9-4x2vz Running 3d · api-7d9f6b8c9-9lmq0 Pending 0s
tail -200 /var/log/nginx/error.log — 43 lines folded
9:41▮▮▮ ᯤ
prod-api
$ kubectl logs api-7d9f
listening :8080
$ top -b -n1
%Cpu 3.9 us, 1.2 sy
$ rssh ai "disk?"
proposes: df -h
esctabctrlalt
|/-~:;"$

01 · Command blocks

Every command gets a boundary.

Sessions fold into color-coded blocks. Copy one command's output, fold the noise, and keep a 10 000-line scrollback you can actually read.

02 · AI triage

Automated triage.
Human-approved.

The AI reads your terminal like an operator and proposes the next command. Nothing runs without your click, and secrets are redacted before anything leaves the machine.

03 · Dynamic discovery

Containers appear.
So do your terminals.

Docker containers and Kubernetes pods show up live as they start. One click opens an ephemeral exec terminal — no static IPs, no bookmarks to maintain.

04 · Desktop + CLI

One database. Two interfaces.

The desktop app and the bundled CLI share the same profiles, keys, and settings. Explore in the workbench, then go headless in pipes, scripts, and CI.

05 · Private sync

Your keys never leave your machine.

Secrets stay in your operating system's keychain. Profiles are encrypted client-side into your own GitHub repo or WebDAV endpoint — no third-party cloud.

Features

The rest of the terminal day is covered.

SFTP file browser

Browse remote files, upload and download without leaving the session.

Port forwarding

Local, remote, and dynamic SOCKS5 tunnels with real-time stats.

Session recording

asciicast v2 recordings with variable-speed playback.

Keyword highlighting

Regex rules that keep working across the whole scrollback.

Import ~/.ssh/config

Existing hosts and jump hosts appear on first launch.

Snippets & broadcast

Run one command across many connected sessions at once.

Mobile keybar

Modifier lock and extension keys built for thumbs on Android.

Local terminal

zsh, bash, and PowerShell detected automatically.

Telnet & serial console

Saved profiles, expect/send scripts, and a hex mode for UART work.

JetBrains plugin

The full workbench inside your IDE, sharing the same ~/.rssh.

FAQs

Answers to the questions that come up most.

Do I need to install anything on my servers?

No. RSSH is an ordinary SSH client — every feature is normal commands over the connection you opened. No daemon, no hooks, no wrappers. Dynamic discovery reads your local Docker and Kubernetes contexts.

Which platforms are supported?

macOS (Apple Silicon and Intel), Windows, Linux (deb, rpm, AppImage), and Android. An iOS build is maintained by the community. The desktop app and the CLI share one database, so both stay in sync.

How does sync work?

Secrets stay in your operating system's keychain. Connection profiles are encrypted client-side and stored in your own private GitHub repo or WebDAV endpoint. There is no RSSH cloud and no third-party server in the loop.

Does the AI send my terminal output anywhere?

AI diagnose reads the current session and proposes commands — nothing runs without your approval. Sensitive output is redacted locally before a request leaves your machine, and you bring your own provider and key.

Why both a GUI and a CLI?

They are two interfaces over the same SQLite database — profiles, keys, and settings are shared. Use the workbench for exploration, the CLI for pipes, scripts, and CI.

Something else on your mind? Open an issue on GitHub — every one gets read.

Download

Free, open source, MIT licensed.

Grab the latest release for your platform — desktop and Android on GitHub, iOS on the App Store.