https://github.com/erickochen/purple
Open-source terminal SSH manager and SSH config editor in Rust. Fuzzy search hundreds of hosts, sync from 16 clouds, transfer files, manage Docker and Podman over SSH, sign short-lived Vault SSH certs and expose an MCP server for AI agents.
https://github.com/erickochen/purple
cli cloud-sync command-line-tool devops hashicorp-vault homelab mcp model-context-protocol proxmox ratatui rust sftp-client ssh ssh-client ssh-config ssh-manager ssh-tunnel sysadmin terminal tui
Last synced: 2 days ago
JSON representation
Open-source terminal SSH manager and SSH config editor in Rust. Fuzzy search hundreds of hosts, sync from 16 clouds, transfer files, manage Docker and Podman over SSH, sign short-lived Vault SSH certs and expose an MCP server for AI agents.
- Host: GitHub
- URL: https://github.com/erickochen/purple
- Owner: erickochen
- License: mit
- Created: 2026-02-19T16:30:18.000Z (2 months ago)
- Default Branch: master
- Last Pushed: 2026-04-25T09:55:35.000Z (2 days ago)
- Last Synced: 2026-04-25T11:21:30.840Z (2 days ago)
- Topics: cli, cloud-sync, command-line-tool, devops, hashicorp-vault, homelab, mcp, model-context-protocol, proxmox, ratatui, rust, sftp-client, ssh, ssh-client, ssh-config, ssh-manager, ssh-tunnel, sysadmin, terminal, tui
- Language: Rust
- Homepage: https://getpurple.sh
- Size: 213 MB
- Stars: 238
- Watchers: 0
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- fucking-awesome-rust - erickochen/purple - ssh](crates.io/crates/purple-ssh)] - Ratatui-powered SSH client with cloud sync, container management, file transfer, tunnels, snippets and password management [](https://github.com/erickochen/purple/actions/workflows/ci.yml) (Applications / System tools)
- awesome-rust - erickochen/purple - ssh](https://crates.io/crates/purple-ssh)] - Ratatui-powered SSH client with cloud sync, container management, file transfer, tunnels, snippets and password management [](https://github.com/erickochen/purple/actions/workflows/ci.yml) (Applications / System tools)
- awesome-ratatui - purple - TUI SSH config manager & launcher with fuzzy search, tags, cloud provider sync, tunnels and command snippets for server management. (π» Apps / π¨βπ» System Administration)
- awesome-devops - purple - SSH client with AWS/GCP/Azure sync, Docker/Podman and SCP transfers. (Productivity Tools)
- awesome-rust-with-stars - erickochen/purple - ssh) | Ratatui-powered SSH client with cloud sync, container management, file transfer, tunnels, snippets and password management | 2026-04-05 | (Applications / System tools)
README
# purple
**An open-source terminal SSH manager and SSH config editor for macOS and Linux.** A fast Rust TUI that searches hundreds of hosts, syncs from 16 clouds including AWS, GCP, Azure, Hetzner, Proxmox and OCI, transfers files, manages Docker and Podman over SSH, signs short-lived HashiCorp Vault SSH certificates and exposes an MCP server for AI agents. Keyboard-driven. Single binary. MIT licensed.
[](https://crates.io/crates/purple-ssh)
[](https://crates.io/crates/purple-ssh)
[](LICENSE)
[](https://ratatui.rs/)
[](https://getpurple.sh)

## Install
```
curl -fsSL getpurple.sh | sh
```
brew, cargo or from source
```
brew install erickochen/purple/purple
```
```
cargo install purple-ssh
```
```
git clone https://github.com/erickochen/purple.git
cd purple && cargo build --release
```
Run `purple`. Press `?` on any screen for help. That's it.
## Why I built this
My SSH config was fine. Proper aliases, ProxyJump chains, organized by provider. Not the problem.
The problem was everything around it. Need to check a container? `ssh host docker ps`. Copy a file? `scp` with the right flags. Run the same command on ten hosts? Write a loop or boot up Ansible for a one-liner. Spin up a VM on Hetzner? Open the console, grab the IP, edit config, save. Someone asks which box runs what? Good luck.
I wanted one place for all of that. So I built it.
## What you get

π **Everything at a glance.** Connection info, jump route, activity sparkline, tags, tunnels, snippets, containers and server metadata. Health dots show which hosts are up. Group by provider, tag or flat.
β‘ **Instant fuzzy search.** Names, IPs, tags, users. Frecency sorting puts your most-used hosts on top. Works the same with 5 hosts or 500. Scoped search within groups.

βοΈ **16 cloud providers.** AWS, DigitalOcean, Hetzner, GCP, Azure, Proxmox VE, Vultr, Linode, UpCloud, Scaleway, Tailscale, Oracle Cloud, OVHcloud, Leaseweb, i3D.net and TransIP. VMs appear, IPs update, stale hosts dim. Region, instance type, OS and status synced as metadata.

π³ **Containers over SSH.** Docker and Podman. Start, stop, restart. No agent on the remote, no extra ports. Just SSH.

- **What's new** Sticky toast and overlay summarising releases since you last opened. See [What's New](https://github.com/erickochen/purple/wiki/Whats-New)
**And more.** Visual file transfer with split-pane explorer. Multi-host command execution with snippets. Automatic password retrieval from OS Keychain, 1Password, Bitwarden, pass and the HashiCorp Vault KV secrets engine. Short-lived SSH certificates signed via the HashiCorp Vault SSH secrets engine. Command palette (`:`) for quick access to all actions. MCP server for AI agents like Claude Code and Cursor. See the [wiki](https://github.com/erickochen/purple/wiki) for details.
## How it works
purple reads `~/.ssh/config` directly. No database, no daemon, no account. Comments, indentation, Include files, unknown directives. All preserved.
Written in Rust. Single binary. 6200+ tests. MIT license.
## Links
π [Wiki](https://github.com/erickochen/purple/wiki) Β· βοΈ [Cloud Providers](https://github.com/erickochen/purple/wiki/Cloud-Providers) Β· π€ [MCP Server](https://github.com/erickochen/purple/wiki/MCP-Server) Β· β [FAQ](https://github.com/erickochen/purple/wiki/FAQ) Β· π [Security](SECURITY.md) Β· π§ [llms.txt](https://getpurple.sh/llms.txt)
## Credits
The font used in the demo videos and screenshots is [Berkeley Monoβ’](https://usgraphics.com/products/berkeley-mono) by U.S. Graphics Company.
## Feedback
Bug or feature request? [Open an issue](https://github.com/erickochen/purple/issues).