Skip to content

tomertec/sshmanager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SshManager

Build License: MIT .NET 8 Windows

A modern Windows desktop application for managing SSH and serial port connections with an embedded terminal.

SshManager Screenshot

Features

SSH Connections

  • Host Management - Store and organize SSH connections with groups
  • Embedded Terminal - Full-featured terminal with xterm.js (vim, tmux, htop all work)
  • Multiple Tabs & Split Panes - Work with multiple sessions side by side
  • Secure Credential Storage - Passwords encrypted with Windows DPAPI
  • SSH Key Support - SSH Agent, private key files, or password authentication
  • SSH Key Management - Generate, import, and manage SSH keys with passphrase support
  • PPK Import Wizard - Batch convert PuTTY keys to OpenSSH format
  • SFTP Browser - Graphical file transfer with drag-and-drop
  • Port Forwarding - Local and remote port forwarding profiles
  • Jump Hosts - ProxyJump support for bastion/jump host connections
  • Import/Export - Import from SSH config or PuTTY, backup to cloud

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

General

  • Modern UI - Dark theme with Fluent Design (WPF-UI)
  • Session Recording - Record and playback terminal sessions (ASCIINEMA format)

Quick Start

Prerequisites

  • Windows 10/11 (64-bit)
  • .NET 8.0 SDK or later
  • WebView2 Runtime (pre-installed on Windows 10/11)

Build & Run

# Clone the repository
git clone https://github.com/tomertec/sshmanager.git
cd sshmanager

# Build
dotnet build SshManager.sln

# Run
dotnet run --project src/SshManager.App/SshManager.App.csproj

Download Release

Check the Releases page for pre-built binaries.

Usage

  1. Add a host: Click the + button and enter connection details
  2. Connect: Double-click a host or press Enter
  3. Organize: Create groups to organize your hosts
  4. Split panes: Right-click a tab to split horizontally/vertically

For detailed usage instructions, see the Getting Started Guide.

Documentation

Technology Stack

Component Technology
Framework .NET 8, WPF
UI Library WPF-UI (Fluent Design)
MVVM CommunityToolkit.Mvvm
Database SQLite via EF Core
SSH SSH.NET
Serial System.IO.Ports + RJCP.SerialPortStream
Terminal xterm.js via WebView2

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

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

About

A modern Windows SSH and serial terminal manager with xterm.js, DPAPI encryption, and Fluent Design UI

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages