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.
- β
 Lists all servers from your 
~/.ssh/config - π Instant search to quickly find hosts
 - π Folder grouping for better organization
 - π Supports 
Includedirectives in ssh_config - β‘ Fast and lightweight TUI interface (made with Go)
 - π Connect to the selected host
 
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-prompterYou need to install the Go Language
Then you can build the project
git clone https://github.com/azlux/ssh-prompter.git
cd ssh-prompter
go buildMany 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"Simply run :
ssh.... and enjoy the fast interactive prompt (β‘) then press Enter to connect to the selected host (π)!
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
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/configfile (to avoid error). 
 - In this case you need 
 
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
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.
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
MIT License - see LICENSE for details.