SSH connection manager with terminal UI for filtering, tagging, and managing SSH hosts from config files
ssm is an SSH connection manager that provides a terminal user interface for managing and connecting to SSH hosts defined in your SSH config file. The tool reads your existing ~/.ssh/config file and presents hosts in an interactive list that supports vim and emacs keybindings for navigation.
The tool adds organizational features on top of standard SSH configurations through a tagging system using #tag comments in config files. Users can filter hosts by tags, prioritize tagged hosts with #tagorder, and switch between SSH and MOSH protocols using the Tab key. The interface supports real-time filtering with '/' and includes shortcuts for editing the config file (ctrl+e) and running commands without spawning a TTY (ctrl+r).
ssm operates as a wrapper around existing SSH installations and requires no setup on remote systems. It includes theme support for customizing the interface appearance and automatically reloads configuration changes. The tool is designed for system administrators, developers, and anyone managing multiple SSH connections who wants a more organized way to access their hosts than memorizing hostnames or scrolling through config files.
# via Homebrew
brew install lfaoro/tap/ssm
# via Script
curl -sSL https://github.com/lfaoro/ssm/raw/main/scripts/get.sh | bash
# via Go
go install github.com/lfaoro/ssm@latest
