About
Color SSH (cossh) is a Rust-based wrapper for SSH and managed RDP launches that enhances your terminal experience with real-time syntax highlighting, shared vault access, and session logging. Built for network engineers, system administrators, and anyone who works with remote systems every day.

Features
- Session manager TUI
- YAML inventory for SSH and RDP hosts
- Syntax highlighting
- Session logging
- Configuration hot reload
- Multiple profile support
- Configurable rules using regex matching
- Shared password vault
- RDP launch support via
xfreerdp3orxfreerdp
Installation
color-ssh supports Linux and macOS. Windows users should run it through WSL.
Requirement
sshxfreerdp3orxfreerdp(Optional)
Pre-built Binaries (Recommended)
Download the latest release from GitHub Releases.
Cargo
From Source
# Clone the repository
# Build the release binary
Shell Completion
Shell completion scripts are included for fish and zsh. For instructions see the Shell Completion README.
Usage
)
; ) for
;
Documentation
The full user wiki lives in here.
Configuration
Runtime Config
Configuration files are looked for in the following order:
- Color SSH config directory:
~/.color-ssh/[profile].cossh-config.yaml - Home directory:
~/[profile].cossh-config.yaml - Current directory:
./[profile].cossh-config.yaml
If no configuration file is found the default configuration will be created at ~/.color-ssh/cossh-config.yaml.
Host Inventory
color-ssh loads SSH and RDP hosts from ~/.color-ssh/cossh-inventory.yaml.
Common inventory fields:
| Field | What it does |
|---|---|
name |
Alias shown in the TUI and used for direct launches like cossh ssh <name>. |
protocol |
Protocol to launch, such as ssh or rdp. |
host |
Actual destination hostname or IP address. |
description |
Text shown in the TUI info/details view. |
profile |
Uses the matching cossh runtime profile when opening the host. |
vault_pass |
Password vault entry used for password auto-login. |
hidden |
Hides the host from the interactive host list and search results. |
identity_file, proxy_jump, proxy_command, forward_agent, local_forward, remote_forward, ssh_options |
SSH-specific connection settings. |
rdp_domain, rdp_args |
RDP-specific connection settings. |
Migrate from ~/.ssh/config
Use this once to import your existing OpenSSH host entries into the YAML inventory:
Uninstall
Cargo
Homebrew
Linux/macOS (Manual)
# 1. Remove the main binary
# 2. Remove the updater binary
# 3. (Optional) Remove configuration and logs
# 4. Remove the installation receipt
Shell Completion Cleanup
For instructions see the Shell Completion README.
Support
If you need help, have an issue, or want to request a feature, open an issue.
Special Thanks
Thanks to the following projects for the inspiration behind Color SSH.
Also thank you to Alacritty for the terminal crate used to render the terminal in the TUI.
AI Usage Note
This project has used AI-assisted tooling for parts of development and documentation.
All AI-assisted changes are reviewed, edited, and validated by a human maintainer before they are merged.
Tools used are:
- @codex
- @copilot