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
Include
directives 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-prompter
You 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 build
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"
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 Folder
on the TOP of your.ssh/config
file (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.