Fast SSH connection manager with fuzzy search. Connect to servers instantly from anywhere.
sx prod # Search and connect
sx --import # Import from FileZilla or SSH config
sx --migrate # Convert old sx storage to SSH configPress Ctrl+K from any terminal to launch.
# Ubuntu/Debian
wget https://github.com/mart337i/sx/releases/latest/download/sx_latest_all.deb
sudo dpkg -i sx_latest_all.deb
# Fedora/RHEL (replace filename with the one from the release page)
wget https://github.com/mart337i/sx/releases/latest
sudo dnf install sx-*.noarch.rpm
# Arch Linux (AUR)
yay -S sx
# From source (hotkey integration set up automatically)
curl -fsSL https://raw.githubusercontent.com/mart337i/sx/main/install.sh | bashEnable global hotkey (package installs only — source installs configure this automatically):
echo '[[ -r /usr/share/sx/sx-integration.sh ]] && source /usr/share/sx/sx-integration.sh' >> ~/.bashrcInteractive Search
- Fuzzy search through all servers
- Filter by name, hostname, or user
- Single match auto-connects
Import Existing Servers
- FileZilla XML (supports folder organization)
- SSH config files
- Manual entry
Smart Workflow
- Global Ctrl+K hotkey
- Case-insensitive search
- Store unlimited servers
- Zero configuration needed
# Interactive selection
sx
# Search for servers
sx prod
sx database
sx 192.168
# Manage servers
sx --add myserver 192.168.1.100 admin 22
sx --remove myserver
sx --list
sx --migrate
# Import servers
sx --import filezilla-export.xml
sx --ssh-config ~/.ssh/configNavigation:
- Type to filter servers
- Arrow keys to select
- Enter to connect
- Ctrl+C to cancel
FileZilla
# 1. Export from FileZilla
FileZilla → File → Export → Save as sites.xml
# 2. Import
sx --import sites.xmlSSH Config
# Import default config
sx --ssh-config
# Import custom config
sx --ssh-config ~/work/ssh-configFolder Support: FileZilla exports with nested folders are fully supported.
Legacy sx storage
# Convert ~/.config/sx/servers into ~/.ssh/config.d/sx.conf
sx --migrateThe legacy ~/.config/sx/servers file is left untouched as a backup.
Servers are stored as normal SSH config in: ~/.ssh/config.d/sx.conf
sx adds this include to ~/.ssh/config when needed:
Include ~/.ssh/config.d/sx.confBecause entries are standard SSH config, aliases work directly with ssh:
ssh myserverCustom hotkey:
export SX_KEY_BINDING='\C-x' # Change to Ctrl+XFile format:
# sx-name: Production Server
Host production-server
HostName 192.168.1.10
User admin
Port 22fzf- fuzzy finderssh- SSH client
Install on Ubuntu/Debian:
apt install fzf openssh-clientInstall on Fedora/RHEL:
dnf install fzf openssh-clientsInstall on Arch:
pacman -S fzf opensshMIT License - See LICENSE file for details