Sshmanager
A modern Windows SSH and serial terminal manager with xterm.js, DPAPI encryption, and Fluent Design UI
Install / Use
/learn @tomertec/SshmanagerREADME
SshManager
A modern Windows desktop application for managing SSH and serial port connections with an embedded terminal.

Features
SSH Connections
- Host Management - Store and organize SSH connections with groups and tags
- Embedded Terminal - Full-featured terminal with xterm.js (vim, tmux, htop all work)
- Multiple Tabs & Split Panes - Work with multiple sessions side by side
- Quick Connect (Ctrl+K) - Command palette-style fuzzy search across all hosts
- Broadcast Input - Send commands to multiple terminals simultaneously
Authentication
- SSH Agent - Pageant, Windows OpenSSH Agent, or 1Password SSH Agent
- Private Key Files - With optional passphrase and SSH key management
- Password - Encrypted with Windows DPAPI (per-user, at rest)
- Kerberos/GSSAPI - Windows domain authentication with credential delegation
- 1Password Integration - Fetch passwords and SSH keys from 1Password vaults at connection time via
op://secret references
SFTP File Browser
- Dual-Pane Browser - Local and remote side-by-side file management
- Drag-and-Drop - Transfer files between local and remote panels
- Folder Upload/Download - Recursive directory transfers
- Remote File Editor - Edit remote files with syntax highlighting (AvalonEdit)
- Move, Rename, Delete - Full file operations via right-click context menu
- Bookmarks & Favorites - Quick access to frequently used remote paths
SSH Key Management
- Generate Keys - Create RSA, Ed25519, ECDSA keys
- PPK Import Wizard - Batch convert PuTTY keys to OpenSSH format
- Key Encryption - Re-encrypt private keys with new passphrases
- Agent Management - Add/remove keys from SSH agents programmatically
Advanced SSH
- Port Forwarding - Local, remote, and dynamic (SOCKS) port forwarding profiles
- Jump Hosts - ProxyJump support for multi-hop bastion connections
- Visual Tunnel Builder - Graph-based editor for complex tunnel configurations
- X11 Forwarding - Forward graphical applications with auto-detection
- Connection Pooling - Reuse SSH connections for SFTP operations
- Auto-Reconnect - Automatic reconnection with exponential backoff
- Per-Host Keep-Alive - Configurable keep-alive intervals per host
Serial Port Connections
- COM Port Support - Connect to serial devices (routers, switches, embedded systems)
- Full Configuration - Baud rate, data bits, stop bits, parity, flow control
- DTR/RTS Control - Toggle hardware signals for device reset/boot modes
- Local Echo - Optional local character echo for half-duplex devices
- Quick Connect - Enumerate and connect to available COM ports instantly
- Save & Organize - Store serial port configurations alongside SSH hosts
Session Management
- Session Recording - Record and playback terminal sessions (ASCIINEMA v2 format)
- Session Recovery - Restore sessions after crashes or disconnections
- Command Snippets - Save and reuse frequently used commands
- Terminal Autocompletion - Intelligent command completion
Import/Export & Sync
- SSH Config - Import from and export to
~/.ssh/config - PuTTY Import - Import sessions from PuTTY registry
- Cloud Sync - Sync hosts across devices via OneDrive
- Backup/Restore - Database backup and restore
General
- Modern UI - Dark theme with Fluent Design (WPF-UI)
- System Tray - Minimize to tray with quick-connect menu
- Terminal Themes - Customizable terminal color schemes
- Host Status Monitoring - Ping-based availability checks
Quick Start
Prerequisites
- Windows 10/11 (64-bit)
- .NET 9.0 SDK or later
- WebView2 Runtime (pre-installed on Windows 10/11)
Download Release
Download the latest single-file executable from the Releases page. No installation required.
Build & Run
git clone https://github.com/tomertec/sshmanager.git
cd sshmanager
dotnet build SshManager.sln
dotnet run --project src/SshManager.App/SshManager.App.csproj
Usage
- Add a host - Click + and enter connection details
- Connect - Double-click a host or press Enter
- Organize - Create groups and apply tags
- Transfer files - Right-click a connected host and open SFTP browser
- Split panes - Right-click a tab to split horizontally/vertically
For detailed usage instructions, see the Getting Started Guide.
1Password Integration
SshManager can fetch SSH passwords and private keys from 1Password at connection time:
- Install the 1Password desktop app with CLI integration enabled (Settings > Developer)
- In the host edit dialog, select 1Password as the authentication type
- Click Browse to select a vault item and field
- On connection, SshManager resolves the
op://reference via biometric unlock (Windows Hello)
Both passwords and SSH private keys are supported. Keys are written to secure temp files with restrictive ACLs and securely deleted after the session ends.
Documentation
- Getting Started - First-time setup and basic usage
- Full Documentation - Complete feature documentation
- Architecture - Technical architecture details
- API Reference - Terminal services API for developers
Technology Stack
| Component | Technology | |-----------|------------| | Framework | .NET 9, WPF | | UI Library | WPF-UI (Fluent Design) | | MVVM | CommunityToolkit.Mvvm | | Database | SQLite via EF Core 9 | | SSH | SSH.NET | | Serial | System.IO.Ports + RJCP.SerialPortStream | | Terminal | xterm.js via WebView2 | | Credentials | Windows DPAPI + 1Password CLI | | Logging | Serilog |
Building from Source
# Debug build
dotnet build SshManager.sln
# Release build
dotnet build SshManager.sln -c Release
# Run tests
dotnet test
# Publish self-contained executable
dotnet publish src/SshManager.App/SshManager.App.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- SSH.NET - SSH library for .NET
- RJCP.SerialPortStream - Cross-platform serial port library
- WPF-UI - Modern WPF controls
- xterm.js - Terminal emulator for the web
- CommunityToolkit.Mvvm - MVVM framework
- 1Password CLI - Credential management
Related Skills
clearshot
Structured screenshot analysis for UI implementation and critique. Analyzes every UI screenshot with a 5×5 spatial grid, full element inventory, and design system extraction — facts and taste together, every time. Escalates to full implementation blueprint when building. Trigger on any digital interface image file (png, jpg, gif, webp — websites, apps, dashboards, mockups, wireframes) or commands like 'analyse this screenshot,' 'rebuild this,' 'match this design,' 'clone this.' Skip for non-UI images (photos, memes, charts) unless the user explicitly wants to build a UI from them. Does NOT trigger on HTML source code, CSS, SVGs, or any code pasted as text.
openpencil
2.0kThe world's first open-source AI-native vector design tool and the first to feature concurrent Agent Teams. Design-as-Code. Turn prompts into UI directly on the live canvas. A modern alternative to Pencil.
ui-ux-designer
Use this agent when you need to design, implement, or improve user interface components and user experience flows. Examples include: creating new pages or components, improving existing UI layouts, implementing responsive designs, optimizing user interactions, building forms or dashboards, analyzing existing UI through browser snapshots, or when you need to ensure UI components follow design system standards and shadcn/ui best practices.\n\n<example>\nContext: User needs to create a new dashboard page for team management.\nuser: "I need to create a team management dashboard where users can view team members, invite new members, and manage roles"\nassistant: "I'll use the ui-ux-designer agent to design and implement this dashboard with proper UX considerations, using shadcn/ui components and our design system tokens."\n</example>\n\n<example>\nContext: User wants to improve the user experience of an existing form.\nuser: "The signup form feels clunky and users are dropping off. Can you improve it?"\nassistant: "Let me use the ui-ux-designer agent to analyze the current form UX and implement improvements using our design system and shadcn/ui components."\n</example>\n\n<example>\nContext: User wants to evaluate and improve existing UI.\nuser: "Can you take a look at our pricing page and see how we can make it more appealing and user-friendly?"\nassistant: "I'll use the ui-ux-designer agent to take a snapshot of the current pricing page, analyze the UX against Notion-inspired design principles, and implement improvements using our design tokens."\n</example>
ui-ux-pro-max-skill
57.0kAn AI SKILL that provide design intelligence for building professional UI/UX multiple platforms
