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.