Streamline SSH with a simple Terminal UI
SSM is an SSH connection manager that helps engineers organize servers, connect, filter, tag, execute commands (soon), transfer files (soon), and much more from a simple terminal interface.
tl;dr - try it now
- vim keys navigation: jkhl, ctrl+d/u, g/G
 - filter through all your servers
 - simple connect and return flow
 - switch between SSH and MOSH with a tab
 - quickly edit configs 
<ctrl+e> - auto-reload SSH config on change
 - extend config with 
#tag:, e.g.:$ ssm adminwill show only#tag: adminhosts ssm --exitwill exit ssm after a connection is establishedssm --showorctrl+vin the UI, will show config params for the selected host- shortflags support e.g. 
ssm -se vpn 
See CHANGELOG for more info. 
See HELP for CLI flags.
<enter↵>       connect to selected host
<ctrl+v>       show config for selected host
<ctrl+e>       edit ssh configs
<tab>          switch between SSH/MOSH
< / >          filter hosts
<q or esc>     quit
# under development (coming soon)
ctrl+r         run commands on the server without starting a pty 
ctrl+s         sftp upload/download files to/from server 
ctrl+p         port-forwarding UI 
space␣         select multiple hosts to interact with
If you're not accustomed to ssh config start here otherwise skip to install
# backup any existing config
[ -f ~/.ssh/config ] && cp ~/.ssh/config ~/.ssh/config.bak
# create ssh config
cat <<EOF >>~/.ssh/config
Host hostname1
#tag: tagValue1,tagValue2,tagValueN
    User user
    HostName hello.world
    Port 2222
    IdentityFile ~/.ssh/id_rsa
Host terminalcoffee
#tag: shops
    User adam
    HostName terminal.shop
Host segfault.net
#tag: research
    User root
    HostName segfault.net
EOF
# file must have 600 perms for security
chmod 600 ~/.ssh/configDownload ssm binary from releases
available for [Linux, MacOS, FreeBSD, NetBSD, OpenBSD, Solaris]
on [x86_64, i386, arm64, arm] architectures, need more? just ask
# bash one-liner
curl -sSL https://raw.githubusercontent.com/lfaoro/ssm/refs/heads/main/scripts/get.sh | bash
wget -qO- https://raw.githubusercontent.com/lfaoro/ssm/refs/heads/main/scripts/get.sh | bashrequires Go
# bootstrap
go install github.com/lfaoro/ssm@latest
# build
git clone https://github.com/lfaoro/ssm.git \
  && cd ssm \
  && make build \
  && bin/ssm- SSH config manual
 - SSH config example
 - create SSH config script
 - message me on X
 - message me on Telegram
 
Pull requests are very welcome and will be merged. 
Feature requests are also welcome, we're happy to implement your ideas.
If
ssmis useful to you, kindly give us a star.
- 
star the repo
 - 
tell your friends