An ultra-fast and intelligent SSH session manager with fuzzy search across all commands, Kerberos support, bastion hosts, and advanced history management.
Bayesian SSH transforms your SSH experience with intelligent automation:
- One-click connections to your servers
- Intelligent fuzzy search across all commands - find connections by partial names, tags, or patterns
- Automatic Kerberos ticket management
- Smart bastion host routing
- Tag-based organization for easy management
- Complete connection history with statistics
- SQLite database for persistence
# Install latest release automatically (non-interactive)
curl -fsSL https://raw.githubusercontent.com/abdoufermat5/bayesian-ssh/main/install.sh | bash# Interactive installation (choose options)
curl -fsSL https://raw.githubusercontent.com/abdoufermat5/bayesian-ssh/main/install.sh | bash -s -- --interactive
# Clone and build
git clone https://github.com/abdoufermat5/bayesian-ssh.git
cd bayesian-ssh
# Build and install using Makefile
make release
make install
# Or use the script
./scripts/build_and_push.sh --release
sudo cp target/release/bayesian-ssh /usr/local/bin/# Add a server
bayesian-ssh add "My Server" server.company.com
# Connect instantly
bayesian-ssh connect "My Server"# Connect to a server (with fuzzy search)
bayesian-ssh connect "Server Name" # Exact match
bayesian-ssh connect "webprod" # Finds "web-prod-server"
bayesian-ssh connect "prod" # Shows all production servers
# Manage connections (all with fuzzy search)
bayesian-ssh edit "webprod" # Edit connection settings
bayesian-ssh show "dbprod" # Show connection details
bayesian-ssh remove "apigateway" # Remove connection
# Add new connection
bayesian-ssh add "Server Name" hostname.com
# List connections
bayesian-ssh list
# Import from SSH config
bayesian-ssh import# Use default bastion
bayesian-ssh add "Server" host.com
# Force direct connection
bayesian-ssh add "Server" host.com --no-bastion
# Custom bastion
bayesian-ssh add "Server" host.com --bastion custom-bastion.comThe app automatically creates configuration in ~/.config/bayesian-ssh/:
# View current config
bayesian-ssh config
# Set defaults (Kerberos is disabled by default, current user is used)
bayesian-ssh config --use-kerberos --default-user customuserFor comprehensive guides and advanced topics, see the docs/ folder:
- Technical Architecture - System design and architecture
- Advanced Usage - Enterprise scenarios and complex use cases
- Troubleshooting - Common issues and solutions
- Documentation Index - Complete documentation overview
- Tauri GUI Interface - Modern React-based interface
- Cloud Integrations - AWS, Azure, GCP, Kubernetes
- Advanced Security - Vault integration, MFA support
- Fork the project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under MIT. See the LICENSE file for details.