Skip to content

Conversation

pinpox
Copy link

@pinpox pinpox commented Jul 29, 2025

No description provided.

This implementation adds SSH agent support to age through:

1. age-plugin-ssh-agent: Age plugin that communicates with SSH agents
   - Implements age plugin protocol (identity-v1)
   - Connects to SSH agents via SSH_AUTH_SOCK
   - Handles RSA and Ed25519 stanza parsing
   - Uses SSH agent extensions for decryption

2. simple-age-agent: Demonstration SSH agent with age extensions
   - Implements SSH agent interface with ExtendedAgent support
   - Performs RSA-OAEP decryption for ssh-rsa stanzas
   - Performs Ed25519/X25519 key agreement for ssh-ed25519 stanzas
   - Generates test keys for demonstration

Key features:
- Uses SSH agent extension mechanism (draft-miller-ssh-agent)
- Extension names: [email protected], [email protected]
- Complete cryptographic operations for both key types
- Proper domain separation and security practices
- Graceful fallback when extensions unsupported

Usage: age -d -j ssh-agent encrypted-file.age
@pinpox pinpox closed this Jul 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant