Skip to content

SSM Manager is a cross-platform desktop application that provides a graphical interface for managing AWS Systems Manager session.

License

Notifications You must be signed in to change notification settings

napalm255/ssm-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSM Manager (AWS)

A desktop application for managing SSM session on AWS cloud with a user-friendly GUI interface.

GitHub release (latest by date) GitHub Quality Gate Status Bugs Code Smells Duplicated Lines (%) Lines of Code Reliability Rating Security Rating Maintainability Rating Vulnerabilities

Screenshot

Description

SSM Manager is a cross-platform desktop application that provides a web interface for managing AWS Systems Manager sessions. It simplifies the process of connecting to EC2 instances through AWS Systems Manager by providing an intuitive interface for Shell sessions, RDP connections, custom port forwarding, and host port forwarding.

Features

Core Functionality

  • Runs as a system tray icon
  • Uses your default browser to display the UI
  • Easy switching between AWS profiles (including sso)
  • Region selection
  • Connection status monitoring
  • Maintain connections across multiple profiles

Instance Management

  • Instance Listing
    • Display of EC2 instances with SSM capability
    • Instance status updates
    • Instance details (Name, ID, Type, OS, State, IP Address ecc..)

Connection Types

  • Shell Sessions

    • Direct Shell connection to instances
    • Session monitoring and management
  • RDP Connections

    • Automated RDP port forwarding setup
    • Dynamic local port allocation
    • Session monitoring and management
    • Integration with Windows Remote Desktop
  • Port Forwarding

    • User-defined port forwarding
    • Dynamic local port allocation
    • Session monitoring and management
    • Remote host connection through instances

Active Connection Management

  • Real-time connection status monitoring
  • Active session termination

Additional Features

  • Logging system with configurable levels
  • Light and dark mode themes for the UI
  • Customizable preferences (e.g., port range, log level, regions)

Requirements

  • Windows or Linux OS (Tested on Windows 11 and Fedora 40)
  • AWS CLI installed and configured [instructions here]
  • AWS SSM Plugin for AWS CLI installed [instructions here]
  • Valid AWS credentials configured (aws configure [sso])

Installation

A pre-built version is currently only available for Windows and comes in either a self extracting zip or a zip file.

  1. Download the latest release from the releases page
  2. Run the self extracting zip, ssm_manager.exe.
  3. Ensure that AWS CLI and SSM Plugin are installed.
    aws --version
    aws ssm start-session --version
  4. Configure AWS CLI and log in to AWS. Instructions here
  5. Install the Session Manager plugin for AWS CLI. Instructions here
  6. Launch SSM Manager.

Usage

  1. Launch the application
  2. Select your AWS profile and region
  3. Click "Connect" to view available instances
  4. Use the action buttons to establish connections:
    • Shell: Direct terminal access
    • RDP: Remote desktop connection
    • PORT: Custom port forwarding

Development

Requirements

  • Python 3.12+
  • flask
  • boto3
  • psutil
  • pythonnet
  • cachelib
  • pystray
  • colorama

Setup Development Environment

git clone https://github.com/napalm255/ssm-manager.git
cd ssm-manager
pipenv install -d
pipenv shell
inv run

Building from Source

This assumes you have already cloned the repository and are in the root directory of the project with an active virtual environment.

inv build

Packaging as a zipfile

inv package

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Bug reports

Create an issue on GitHub, please include the following (if one of them is not applicable to the issue then it's not needed):

  • The steps to reproduce the bug
  • Logs file ssm_manager.log
  • The version of software
  • Your OS & Browser including server OS
  • What you were expecting to see

Acknowledgments

  • All contributors who helped improve this tool
  • A bit support from AI
  • Original development by mauroo82

Support

If you encounter any problems or have suggestions, please open an issue in the GitHub repository.

About

SSM Manager is a cross-platform desktop application that provides a graphical interface for managing AWS Systems Manager session.

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •