A CLI tool for managing SSH connections with an interactive terminal UI. Skipper reads your ~/.ssh/config file and lets you browse, search, and connect to hosts without memorizing aliases.You can fuzzy-search aliases and connection details, then connect immediately from the same screen — or skip the UI entirely when there's only one match.
- Interactive host selection -- filterable list of SSH hosts powered by Bubbletea
- SSH config parsing -- reads host aliases, users, hostnames, ports, and identity files from your SSH config
- Fuzzy search -- quickly narrow down hosts by typing
- Seamless connection -- selects a host and drops you straight into an SSH session
Easily install Skipper using the provided install script, or download a release binary for your platform.
curl -fsSL https://raw.githubusercontent.com/JerryAgbesi/skipper/main/install.sh | sh- Head to the Releases page
- Download the archive for your platform (e.g.
skipper_<version>_<os>_<arch>.tar.gz) - Extract and move to your PATH:
tar -xzf skipper_*_<os>_<arch>.tar.gz -C /usr/local/bin/- Verify the installation:
skipper --versionPrerequisites:
- Go 1.25+
git clone https://github.com/JerryAgbesi/skipper.git
cd skipper
make build
sudo mv skipper /usr/local/bin/If you want to explore or contribute to the codebase:
git clone https://github.com/JerryAgbesi/skipper.git
cd skipper
make runRun the test suite with:
make testUnit tests live alongside the Go packages they exercise under cmd/ and internal/.
skipper [command] [flags]
| Flag | Description |
|---|---|
-c, --config <path> |
Path to SSH config file (default: ~/.ssh/config) |
-f, --find [term] |
Open directly in find mode, or pre-filter hosts when a search term is provided |
-v, --version |
Print version |
-h, --help |
Show help |
| Command | Description |
|---|---|
add <alias> <user@host[:port]> |
Add a host entry to the SSH config under the given alias |
Examples:
skipper add devone user@ipaddress:9000
skipper add bastion admin@10.0.0.5| Key | Action |
|---|---|
Enter |
Connect to selected host |
Up/Down or j/k |
Navigate the list |
| / | Start filtering hosts |
Esc / Ctrl+C / Q |
Quit |
| Target | Description |
|---|---|
make build |
Compile the skipper binary |
make test |
Run the full Go test suite |
make run |
Build and run |
make lint |
Run golangci-lint |
make fmt |
Format code |
make all |
Format + Build + Run |