No description
- Rust 89.5%
- Nix 8.2%
- Just 2.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| src | ||
| .envrc | ||
| .gitignore | ||
| actionlint.yaml | ||
| AGENTS.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| devshell.nix | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| package.nix | ||
| prek.toml | ||
| README.md | ||
ed25519-to-age
Derive an age key from an SSH Ed25519 key held by ssh-agent.
The default output is the public age recipient. Use --secret to print the secret
age identity.
Install
cargo install --path .
Usage
ed25519-to-age [OPTIONS]
Examples:
ed25519-to-age
ed25519-to-age --variant work
ed25519-to-age --secret
ed25519-to-age --variant sops --secret
ed25519-to-age --key-file ~/.ssh/id_ed25519.pub
ed25519-to-age --public-key "$(cat ~/.ssh/id_ed25519.pub)"
Options:
-s, --secret: print the secret age identity-v, --variant <NAME>: derived key variant, defaulting todefault-f, --key-file <PATH>: SSH Ed25519 public key file-p, --public-key <KEY>: literalssh-ed25519public key-h, --help: print help-V, --version: print version
Environment:
ED25519_TO_AGE_VARIANTED25519_TO_AGE_KEY_FILEED25519_TO_AGE_PUBLIC_KEY
Requirements
- OpenSSH with
ssh-keygen -Y sign SSH_AUTH_SOCKpointing at an agent that can sign with the selected keyage-keygen
Passphrase-protected SSH keys work once loaded with ssh-add. This tool never
reads a private SSH key file.
Notes
- Different variants produce different age keys.
- The variant is not secret.
- Public key comments are ignored.
--secretoutput is private key material.