Building Key Switch: A MacOS Active SSH Key Management App

Introduction

Like many developers, I faced the challenge of managing multiple GitHub accounts - one for work and another for personal projects. While GitHub allows you to use different SSH keys for authentication, switching between them was a constant hassle that interrupted my workflow. After searching for existing solutions and finding them lacking, I decided to build my own: Key Switch, a macOS menu bar application that makes managing multiple SSH keys effortless. Built with SwiftUI and AppKit, it provides an elegant interface for switching between different SSH keys with just a click, along with features for generating and managing keys. In this article, I’ll share how I built this solution to a common developer pain point.

Get the app Here https://keyswitch.mightyprojects.com.au.

Key Features

  1. Menu Bar Integration
    • Quick access from the macOS menu bar
    • Shows active SSH key status at a glance
    • Clean, minimal interface
  2. SSH Key Management
    • Switch between multiple SSH keys with one click
    • Generate new SSH keys easily
    • Edit and delete keys as needed
    • Automatic tracking of key status
  3. Security & Privacy
    • Secure access to SSH keys
    • Safe key generation and management
    • No internet connectivity required
    • Full user control over permissions

User Experience

The app provides a seamless experience for developers:

  • Simple menu bar interface for quick access
  • Clear visual indicators for active keys
  • Easy key generation and switching
  • Helpful notifications and status updates

Conclusion

Key Switch is a practical solution for developers who work with multiple GitHub accounts and SSH keys. It eliminates the hassle of manual key switching while maintaining security and ease of use. The app demonstrates how a focused utility can significantly improve the developer workflow.

Future Plans

We plan to enhance Key Switch with features like:

  1. Key backup capabilities
  2. Import/export functionality
  3. Usage statistics
  4. Cloud service integration
  5. Advanced key validation

Get the app Here https://keyswitch.mightyprojects.com.au.