qssh

command module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2025 License: MIT Imports: 3 Imported by: 0

README ΒΆ

QSSH – Quick SSH Connector

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.

✨ Features

  • Instant discovery – Parses your ~/.ssh/config (and any nested Include files) to build the list of hosts.
  • Fuzzy navigation – Arrow keys or j / k to move, Enter to 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 (qssh never stays resident).

πŸ“¦ Installation

Go install (requires Go β‰₯1.20)
go install github.com/EmreKb/qssh@latest

go install builds QSSH from source on your machine.


πŸš€ Usage

Just run:

qssh

QSSH will parse your ~/.ssh/config (and any files referenced via Include) and show all matching hosts.

Example SSH config
# ~/.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:

QSSH screenshot

Key bindings:

Key Action
↑ / k Move cursor up
↓ / j Move cursor down
↡ Enter / Space Connect to selection
q / Ctrl+C Quit

βš™οΈ How it works

QSSH uses:

  • ssh_config to parse your SSH config (including nested Include files).
  • bubbletea and lipgloss for the TUI.
  • Regular ssh under the hood – once a host is chosen, QSSH replaces itself with the ssh process.

πŸ›  Development

  1. Clone the repo and cd qssh.
  2. go run . – launches the dev build.

🀝 Contributing

Bug reports, feature ideas and PRs are welcome!


πŸ“„ License

MIT – see LICENSE.


Acknowledgements

Thanks to the Charm Bracelet crew for the amazing terminal UI ecosystem and to Kevin Burke for the ssh_config parser.

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Directories ΒΆ

Path Synopsis
pkg
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL