# ssm

> Terminal UI for managing and connecting to SSH hosts with vim-style navigation and tagging

Stars: 114 · Language: Go · License: BSD-3-Clause · Categories: System

- Repository: https://github.com/lfaoro/ssm
- Page: https://www.trmn.sh/tools/ssm

## Install

- Homebrew: `brew install lfaoro/tap/ssm`
- Bash script: `curl -sSL https://github.com/lfaoro/ssm/raw/main/scripts/get.sh | bash`
- Go install: `go install github.com/lfaoro/ssm@latest`

## Overview

ssm is a terminal-based SSH connection manager that provides a keyboard-driven interface for managing SSH hosts defined in your SSH config file. It operates as a TUI (Terminal User Interface) that reads from the standard `~/.ssh/config` file without requiring any setup on remote systems.

The tool supports vim-style navigation (jkhl, ctrl+d/u, g/G) and emacs keybindings (ctrl+p/n/b/f) for browsing hosts. Users can filter hosts with `/`, switch between SSH and MOSH connections using TAB, and organize servers using custom tags in the SSH config (e.g., `#tag: admin`). The interface supports running commands without spawning a TTY via ctrl+r, and can display config parameters in a side view with ctrl+v.

ssm includes functionality for editing the SSH config directly from the interface (ctrl+e) with automatic reload on changes, and supports CLI flags for batch operations. The tool can filter hosts by tags (e.g., `ssm admin` shows only admin-tagged servers) and includes theme customization capabilities. It's designed for system administrators, DevOps engineers, and developers who frequently connect to multiple remote systems and want a more organized approach than manually typing SSH commands.

### Installation

```bash
# via Homebrew
brew install lfaoro/tap/ssm
```

```bash
# via Bash script
curl -sSL https://github.com/lfaoro/ssm/raw/main/scripts/get.sh | bash
```

```bash
# via Go install
go install github.com/lfaoro/ssm@latest
```

![ssm terminal interface demo](https://media.trmn.sh/cached/533600122bf9a6295dc8da2a13f99b85e1d6472e1a9b67a3195d20c960643a7f.png)

## Alternatives

- [kure](https://www.trmn.sh/tools/kure.md): Command-line password manager with AES-GCM encryption and offline operation (Go, 172 stars)
- [tufw](https://www.trmn.sh/tools/tufw.md): Terminal user interface for managing ufw firewall rules with add, edit, and remove functionality (Go, 875 stars)
- [stern](https://www.trmn.sh/tools/stern.md): Kubernetes log tailing tool that aggregates logs from multiple pods and containers with regex filtering and color coding (Go, 4.9k stars)
- [viddy](https://www.trmn.sh/tools/viddy.md): Enhanced watch command replacement with time machine mode, diff highlighting, and vim-like navigation (Go, 5.4k stars)
- [Kopia](https://www.trmn.sh/tools/kopia.md): Cross-platform backup tool that creates encrypted, compressed, deduplicated snapshots and stores them on cloud, network, or local storage. Includes CLI and GUI. (Go, 14.6k stars)

---

Canonical: https://www.trmn.sh/tools/ssm
