A lightweight, native SSH profile manager built with Tauri and Rust
macOS 14.0+ | Windows 11+ | Native Performance
Right-click and select "Open" on first launch to bypass Gatekeeper (unsigned app)
Alternatively, run: xattr -cr "/Applications/SSH Profile Manager.app"
Manage SSH connection profiles with a clean GUI and launch them in your native terminal. No more memorising commands, endpoints or credentials!
🚀 Native Performance (Tauri + Rust) • 🔒 Secure (system keychain / local SSH Keys) • 🎯 Simple (clean, focused UI)
Profile Management
- ✅ Create, edit, delete, and duplicate profiles
- 📂 Organise with hierarchical groups and sub-groups (up to 3 levels deep)
- 🔀 Move profiles and groups — reorganise without deleting and recreating
↕️ Custom sort order — drag to reorder profiles and groups; persists across restarts- ⭐ Favourites — star profiles for instant access from the top of the list
- 🎨 Profile icons — choose from 40+ icons for visual recognition
- 🏷️ Tags — colour-coded labels with
tag:namesearch filtering - 🔑 SSH Key, Password (keychain), Central Password (shared credential), or Keyboard-Interactive auth
- 🗝️ Central Passwords — shared credentials across multiple profiles; rotate once, all profiles update
Export & Import
- 📤 Export/import individual profiles or entire group trees
- 🔐 Encrypted exports with AES-256-GCM and PBKDF2 key derivation
- 🔁 Duplicate detection with skip, rename, or overwrite options
- 💾 Backup & restore all settings and profiles
SSH Connections
- ⚡ Connect via native terminal or embedded terminal (xterm.js)
- 🕒 Recent connections bar for quick reconnection
- 📊 Real-time connection status tracking
Keyboard Navigation
- ⌨️ 30+ keyboard shortcuts — press
?to view all shortcuts - Tab, arrow keys, and quick actions throughout
Modern UI
- 🌓 Dark/Light themes with system sync
- 📱 Responsive layout with smooth animations
- 🔄 Reset to defaults • Auto-update checker
Hierarchical groups, search, tag filtering, favourites, and recent connections bar
Star any profile to pin it to the Favourites group at the top of the list
Export profiles and groups with AES-256-GCM encryption and a password strength metre
Colour-coded tags with multi-select management and tag:name search filtering
Shared credentials linked to multiple profiles — change a password once and all linked profiles update immediately
Press ? to view all 30+ available keyboard shortcuts
Full terminal emulation with xterm.js and real-time connection status
Dark/Light theme, keyboard shortcuts toggle, backup/restore and more
Create and edit profiles with icon picker, auth method selection, and validation
macOS
- Download the latest
.dmgfrom Releases - Drag "SSH Profile Manager" to Applications
- First launch: Right-click → "Open" to bypass Gatekeeper (unsigned app), or run
xattr -cr "/Applications/SSH Profile Manager.app"from Terminal
Windows
- Download the latest
.msifrom Releases - Run the installer
- Launch from Start Menu
Create a Profile: Click "New Profile" → Fill in Name, Host, Username → Choose auth method → Pick an icon → Save
Connect: Click the green "Connect" button → Terminal opens automatically → App minimises
Organise: Create groups and sub-groups → Star profiles as Favourites → Add colour-coded tags → Use search & filters
Backup: Settings → Backup/Restore → Toggle "Include Profiles" → Export (optionally encrypted) → Restore anytime
SSH Profile Manager supports comprehensive keyboard navigation throughout the app. Press ? in the app to view all available shortcuts. Can be disabled in Settings if preferred.
Recent Connections: Your last 5 connections appear below the profile list for quick reconnection. Click to reconnect, or manage via keyboard shortcuts.
Embedded Terminal: Connect using the built-in terminal emulator (xterm.js) with real-time connection status. Choose between native terminal or embedded terminal from the Connect dropdown.
# Clone the repository
git clone https://github.com/tomsinclair94/ssh-profile-manager.git
cd ssh-profile-manager
# Install dependencies
bun install
# Run in development mode
bun run dev# Build for production
bun run build
# Output locations:
# macOS: src-tauri/target/release/bundle/macos/
# Windows: src-tauri/target/release/bundle/msi/- Frontend: Vanilla HTML/CSS/JavaScript (no framework bloat)
- Backend: Rust with Tauri v2
- Database: SQLite (rusqlite)
- Secure Storage: System keychain (keyring crate)
- Build Tool: Tauri CLI
ssh-profile-manager/
├── dist/ # Frontend files (HTML, CSS, JS)
│ └── vendor/ # Vendored libraries (xterm.js)
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── lib.rs # Main backend code
│ │ └── tests/ # Test modules (163 tests)
│ ├── icons/ # App icons
│ └── Cargo.toml # Rust dependencies
├── plans/ # Development plans and test artefacts
├── screenshots/ # App screenshots
├── package.json # Node dependencies
├── CHANGELOG.md # Version history
└── SECURITY.md # Security policy
- Profiles: SQLite database in application data directory
- macOS:
~/Library/Application Support/ssh-profile-manager/profiles.db - Windows:
%LOCALAPPDATA%\ssh-profile-manager\profiles.db
- macOS:
- Passwords: Stored securely in system keychain/credential manager
- ✅ macOS 14.0+ (Apple Silicon / ARM64)
- ✅ Windows 11+
GPL-3.0 License - See LICENSE file for details
Built with Tauri - a framework for building tiny, fast binaries for all major platforms.
Author: Tom Sinclair AI Assistant: Claude (Anthropic)