Terminal UI tool for managing SSH connections, written in Go using tview.
- Manage SSH connections with friendly names
- Group connections into tabs (e.g. Home, Work), created, renamed and deleted from the menu
- Support for custom ports and usernames
- Host availability indicators, refreshed by ping every 15 seconds (configurable)
- On-demand check of the selected host via ssh
- Terminal UI with keyboard navigation
- English and Russian interface languages
- Config file storage in JSON format
- Port validation (1–65535)
- Auto-scrolling connection list
brew install mmag/tap/sshmangit clone https://github.com/mmag/sshmanager.git
cd sshmanager
go build -o sshman
# optionally: mv sshman ~/.local/binLaunch the application:
sshman↑/↓- Navigate through listsTab- Switch between sections←/→,1–9- Switch tabs (or click a tab)Enter- Connect to selected serverCtrl+E- Edit selected connectionCtrl+N- Add new connectionDel- Delete selected connectionCtrl+Enter/Ctrl+T- Check the selected server via sshCtrl+R- Refresh window and recheck host statusesCtrl+C- Exit application
Config is stored at ~/sshman/sshman.json in the following format:
{
"tabs": [
{
"name": "Home",
"connections": [
{
"server": "hostnameOrIP",
"comment": "Description",
"port": "22",
"username": "user"
}
]
},
{
"name": "Work",
"connections": []
}
],
"language": "en",
"check_interval": 15
}The first tab can't be deleted. When another tab is deleted, its connections are either
deleted too or moved to the first tab. Configs from older versions with a top-level
connections list are loaded into the first tab.
check_interval sets how often hosts are pinged, in seconds; 0 limits checks to startup and Ctrl+R.
Ping doesn't touch sshd, so frequent checks don't trigger fail2ban and similar protection.
Checks are paused while an SSH session is open.
The on-demand check runs ssh in batch mode with your ~/.ssh/config and shows the result
as the host status, so it also works for host aliases, ProxyJump hosts and hosts that block ping.
Terminals that can't tell Ctrl+Enter from Enter open the connect dialog instead; use Ctrl+T there.
- Go 1.24 or higher
- System SSH client available in PATH (
ssh)
MIT