QSSH is a tiny but powerful terminal user-interface (TUI) written in Go that lets you browse the hosts defined in your SSH configuration and connect with a single keystroke.
- Instant discovery – Parses your ~/.ssh/config(and any nestedIncludefiles) to build the list of hosts.
- Fuzzy navigation – Arrow keys or j / kto move,Enterto connect.
- Rich details – Shows user, hostname and non-default ports at-a-glance.
- Keyboard-only – Works wherever a terminal works (no mouse required).
- Zero-friction – Once you hit Enter, QSSH disappears and your normal SSH session starts (qsshnever stays resident).
go install github.com/EmreKb/qssh@latest
go installbuilds QSSH from source on your machine.
Just run:
qsshQSSH will parse your
~/.ssh/config(and any files referenced viaInclude) and show all matching hosts.
# ~/.ssh/config
Host my-server
    HostName xxx.xxx.xxx.xxx
    User root
    IdentityFile ~/.ssh/my-server-identity-file
After running qssh, you might see something like this:
Key bindings:
| Key | Action | 
|---|---|
| ↑ / k | Move cursor up | 
| ↓ / j | Move cursor down | 
| ↵ Enter / Space | Connect to selection | 
| q / Ctrl+C | Quit | 
QSSH uses:
- ssh_configto parse your SSH config (including nested- Includefiles).
- bubbleteaand- lipglossfor the TUI.
- Regular sshunder the hood – once a host is chosen, QSSH replaces itself with thesshprocess.
- Clone the repo and cd qssh.
- go run .– launches the dev build.
Bug reports, feature ideas and PRs are welcome!
MIT – see LICENSE.
Thanks to the Charm Bracelet crew for the amazing terminal UI ecosystem and to Kevin Burke for the ssh_config parser.
