17 releases

Uses new Rust 2024

new 0.5.9 Feb 12, 2026
0.5.8 Feb 11, 2026
0.5.4 Jan 31, 2026
0.4.1 Feb 8, 2025
0.3.11 Feb 4, 2025

#209 in Command-line interface

MIT license

1MB
1.5K SLoC

Rust 1K SLoC // 0.1% comments Zsh 227 SLoC // 0.1% comments Shell 3 SLoC


About

Color SSH (cossh) is a Rust-based wrapper for SSH that enhances your terminal experience with real-time syntax highlighting and session logging. Built for network engineers, system administrators, and anyone who works with devices that have basic shells.

cossh_example

Features

  • Syntax highlighting
  • Session logging
  • Configuration hot reload
  • Mutliple Profile Support
  • Configurable rules using regex matching

Installation

Download the latest release from GitHub Releases for your platform.

Cargo

cargo install color-ssh

From Source

# Clone the repository
git clone https://github.com/karsyboy/color-ssh.git
cd color-ssh

# Build the release binary
cargo build --release

Shell Completion

Shell completeion scripts are included for fish and zsh. For instructions see the Shell Completion README.

Usage

Usage: cossh [OPTIONS] <ssh_args>...

Arguments:
  <ssh_args>...  SSH arguments to forward to the SSH command

Options:
  -d, --debug              Enable debug mode with detailed logging to ~/.color-ssh/logs/cossh.log
  -l, --log                Enable SSH session logging to ~/.color-ssh/logs/ssh_sessions/
  -P, --profile <profile>  Specify a configuration profile to use
  -h, --help               Print help
  -V, --version            Print version


cossh -d user@example.com                          # Debug mode enabled
cossh -l user@example.com                          # SSH logging enabled
cossh -l -P network user@firewall.example.com      # Use 'network' config profile
cossh -l user@host -p 2222 -i ~/.ssh/custom_key    # Both modes with SSH args
cossh user@host -G                                 # Non-interactive command

Configuration

Configuration files are looked for in the following order:

  1. Current directory: ./[profile].cossh-config.yaml
  2. Home directory: ~/.color-ssh/[profile].cossh-config.yaml

If no configuration file is found the default configuration will be created at ~/.color-ssh/.cossh-config.yaml.

Uninstall

Cargo

cargo uninstall color-ssh

Homebrew

brew uninstall color-ssh

Linux/macOS (Manual)

# 1. Remove the main binary
rm ~/.cargo/bin/cossh

# 2. Remove the updater binary
rm -f ~/.cargo/bin/color-ssh-update

# 3. (Optional) Remove configuration and logs
rm -rf ~/.color-ssh/

# 4. Remove the installation receipt
rm -rf ~/.config/color-ssh/

Windows

# 1. Remove the main binary
Remove-Item "$env:USERPROFILE\.cargo\bin\cossh.exe" -Force

# 2. Remove the updater binary
Remove-Item "$env:USERPROFILE\.cargo\bin\color-ssh-update.exe" -Force

# 3. (Optional) Remove configuration and logs
Remove-Item "$env:USERPROFILE\.color-ssh" -Recurse -Force

# 4. Remove the installation receipt
Remove-Item "$env:LOCALAPPDATA\color-ssh" -Recurse -Force

Shell Completion Cleanup

For instructions see the Shell Completion README.

Support

If you need help, have an issue, or just want to make a sugestion / request a feature please open an issue.

Special Thanks

Thanks to the following projects for the insperation behind Color SSH.

Dependencies

~6–18MB
~192K SLoC