-
Notifications
You must be signed in to change notification settings - Fork 1
Project Overview
dh00mk3tu edited this page Aug 20, 2025
·
2 revisions
This is a desktop application built with NUXT for frontend and Rust - Tauri for backend that provides a user-friendly interface for managing SSH keys on your system. The application allows users to view, create, and remove SSH keys while providing real-time status information about loaded keys in the SSH agent.
- Framework: Tauri with Rust
- Purpose: System-level SSH operations and file management
-
Key Functions:
- SSH key discovery and parsing
- Key creation and removal
- SSH agent status monitoring
- File system operations
- Framework: Nuxt with Composition API
- Styling: Tailwind CSS with custom CSS variables
- State Management: Nuxt reactive system with custom composables
- Components: Modular, reusable components for different UI elements
-
Function:
get_ssh_keys() -
Purpose: Scans
~/.ssh/directory for public key files -
Output: Returns structured data including:
- Filename (for key removal)
- Key information (type, size, email, fingerprint)
- Error handling for corrupted or invalid keys
-
Function:
is_ssh_agent_running() - Purpose: Checks if SSH agent is active
-
Function:
get_loaded_ssh_agent_keys() - Purpose: Lists currently loaded keys in SSH agent
- Output: Shows which keys are actively available for SSH connections
-
Function:
create_ssh_key() -
Parameters:
- Email address
- Key type (RSA, ED25519, etc.)
- Key size (bits)
- Optional passphrase
-
Features:
- Automatic filename generation
- Duplicate key prevention
- Directory creation if needed
-
Function:
remove_ssh_key() - Parameters: Filename (without extension)
- Safety: Removes both private and public key files
- Confirmation: User confirmation modal before deletion