🔐 Simple TUI to quickly search and SSH into servers from your ssh_config file https://packages.azlux.fr/
Find a file
Azlux 9ad7898f7e
All checks were successful
Build Go Binaries / Build cross-platform Go program (push) Successful in 1m38s
fix
2025-12-08 17:52:14 +01:00
.github/workflows fix 2025-12-08 17:52:14 +01:00
examples Go version 2025-06-16 22:39:28 +02:00
tools fix tmux window number 2025-06-23 15:34:27 +02:00
tui Add Include with wildcard 2025-12-08 16:42:58 +01:00
.gitignore Go version 2025-06-16 22:39:28 +02:00
go.mod Try better build 2025-12-08 17:41:52 +01:00
go.sum Try better build 2025-12-08 17:41:52 +01:00
LICENSE Go version 2025-06-16 22:39:28 +02:00
main.go fix exit on timeout and custom args 2025-06-20 16:14:00 +02:00
README.md Try better build 2025-12-08 17:41:52 +01:00

🔐 ssh-prompter

The source of this project is https://git.azlux.fr/azlux/ssh-prompter, PR are accepted on the source only.

This standalone TUI relies entirely on your SSH configuration file, without any database. It's a Go rewrite of my previous Python 3 script.

Features

  • Lists all servers from your ~/.ssh/config
  • 🔍 Instant search to quickly find hosts
  • 📂 Folder grouping for better organization
  • 🔗 Supports Include directives in ssh_config
  • Fast and lightweight TUI interface (made with Go)
  • 🔌 Connect to the selected host

📸 Screenshot

ssh-prompter

⚙️ Installation

See http://packages.azlux.fr

echo "deb [signed-by=/usr/share/keyrings/azlux-archive-keyring.gpg] http://packages.azlux.fr/debian/ trixie main" | sudo tee /etc/apt/sources.list.d/azlux.list
sudo wget -O /usr/share/keyrings/azlux-archive-keyring.gpg  https://azlux.fr/repo.gpg
sudo apt update
sudo apt install ssh-prompter

Manually

You need to install the Go Language

Then you can build the project

git clone https://git.azlux.fr/azlux/ssh-prompter.git
cd ssh-prompter
go build

🛠 Configuration

Alias

Many people don't like the long command ssh-prompter so I recommand to put an alias into your ~/.profile or ~/.bashrc. It's safe to replace the ssh command since I don't interfere with ssh if additionnals parameters are used.

# alias ssh="ssh-prompter"
# or
# alias sshp="ssh-prompter"

Usage

Simply run :

ssh

.... and enjoy the fast interactive prompt () then press Enter to connect to the selected host (🚀)!

SSH config configuration

Everything is here : Official ssh_config manual I don't have a custom config file, neither a database.

This program parse the standard ssh config file. See the example for a basic config for ssh

Folder

SSH-Prompter manage folder. Host will be group by Folder when no search.

Two methods:

  • The Host name can be FolderName/Name,
  • You can add the ssh config option Folder FolderName.
    • In this case you need IgnoreUnknown Folderon the TOP of your .ssh/config file (to avoid error).

You can use both (but not in the same time for the same Host) !

Additionnal information

All Host with * are ignored.

I consider we don't want to "select" them since it's a wildcard for other hosts

Why two methods for folder :

I first wanted to have the / (slash) method but when you use ProxyJump, ssh don't allow slash into the name. So the option Folder is here to allow having a proxy server into a folder.

TMUX

If you run the script on a tmux. The window will be renamed with the Host selected.

It use the command tmux rename-window xxxxx

📜 License

MIT License - see LICENSE for details.