π 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

βοΈ Installation
Via APT (recommended)
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) !
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.