SSH Manager is a simple command-line tool written in Go for managing and connecting to remote servers using SSH. It reads and parses your SSH config file, lists available servers, and allows you to select a server to SSH into quickly and easily.
Available for: Linux, MacOS && Windows
- Parse SSH config file (
~/.ssh/config
) - Display a list of SSH configurations in a table format
- Filter server entries by search term
- Select a server by ID and connect via SSH
- Handle default SSH parameters like port (
22
) and identity file
- Go 1.16 or later
- An SSH config file located at
~/.ssh/config
- SSH client installed (usually pre-installed on most systems)
To get started with SSH Manager, you can either download the precompiled binary or clone this repository and build the application.
git clone https://github.com/yourusername/ssh-manager.git
cd ssh-manager
go build -o sshm .
sudo mv sshm /usr/local/bin/sshm
Replace "{YOUR-version}" with the rest of the name of your downloaded file
sudo mv ~/Downloads/sshm-{YOUR-version} /usr/local/bin/sshm
For macOS users, if you moved the binary in bin,
but you can't use sshm
because of permissions or because of Gatekeeper(can't be verified by Apple)
sudo chmod +x sshm
xattr -d com.apple.quarantine sshm
For Windows users we need to register our exe in PATH. As a first step, you can create a new folder named "bin" in "C:/Users/YourUsername". After that we need to register that path.
[Environment]::SetEnvironmentVariable(
"PATH",
$env:PATH + ";C:\Users\YourUsername\bin",
[EnvironmentVariableTarget]::User
)
Move your sshm.exe
in that folder to the root directory and restart the terminal.
To list all saved SSH configurations in a table format:
sshm
If you want to filter the list by a search term (for example, search for a specific server by name):
sshm <search_term>
Want to run a command on multiple servers?
Just use the -r
flag — this opens the server table where you can select servers with Space. Press TAB to switch to the command input. When you’re done, hit ENTER to run it.
search term is optional
sshm -r <search_term>
After listing the available SSH configurations, you will be prompted to select a server by its ID.
- Cache configuration list
- Generate a small table displaying the server status, including storage, load, CPU, and RAM usage.