{"id":13928981,"url":"https://github.com/Mic92/ssh-to-age","last_synced_at":"2025-07-19T10:32:41.371Z","repository":{"id":37607876,"uuid":"400974253","full_name":"Mic92/ssh-to-age","owner":"Mic92","description":"Convert SSH Ed25519 keys to age keys. This is useful for usage in sops-nix and sops","archived":false,"fork":false,"pushed_at":"2024-10-07T07:46:00.000Z","size":132,"stargazers_count":104,"open_issues_count":3,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-11T23:34:43.019Z","etag":null,"topics":["build-with-buildbot","managed-by-renovate"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mic92.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-29T07:01:58.000Z","updated_at":"2024-10-07T07:45:58.000Z","dependencies_parsed_at":"2023-12-25T05:24:04.080Z","dependency_job_id":"953de37f-5149-44d5-b96e-4ffc6a73b5bc","html_url":"https://github.com/Mic92/ssh-to-age","commit_stats":{"total_commits":94,"total_committers":4,"mean_commits":23.5,"dds":0.4893617021276596,"last_synced_commit":"5842a0023432eca39537060f38cbff7c9c2123c7"},"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mic92%2Fssh-to-age","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mic92%2Fssh-to-age/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mic92%2Fssh-to-age/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mic92%2Fssh-to-age/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mic92","download_url":"https://codeload.github.com/Mic92/ssh-to-age/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225998803,"owners_count":17557473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build-with-buildbot","managed-by-renovate"],"created_at":"2024-08-07T18:02:01.608Z","updated_at":"2024-11-26T17:31:15.455Z","avatar_url":"https://github.com/Mic92.png","language":"Go","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"# ssh-to-age\nConvert SSH Ed25519 keys to [age](https://github.com/FiloSottile/age) keys.\nThis is useful for usage in [sops-nix](https://github.com/Mic92/sops-nix) and\n[sops](https://github.com/mozilla/sops)\n\n## Usage\n\n- Exports the private key:\n\n```console\n$ ssh-to-age -private-key -i $HOME/.ssh/id_ed25519 -o key.txt\n$ cat key.txt\n AGE-SECRET-KEY-1K3VN4N03PTHJWSJSCCMQCN33RY5FSKQPJ4KRRTG3JMQUYE0TUSEQEDH6V8\n```\n\nIf you private key is encrypted, you can export the password in `SSH_TO_AGE_PASSPHRASE`\n\n``` console\n$ read -s SSH_TO_AGE_PASSPHRASE; export SSH_TO_AGE_PASSPHRASE\n$ ssh-to-age -private-key -i $HOME/.ssh/id_ed25519 -o key.txt\n```\n\n- Exports the public key:\n\n```console\n$ ssh-to-age -i $HOME/.ssh/id_ed25519.pub -o pub-key.txt\n$ cat pub-key.txt\nage17044m9wgakla6pzftf4srtl3h5mcsr85jysgt5fg23zpnta8sfdqhzn452\n```\n\nssh-to-age also supports multiple public keys at once seperated by newlines and ignores unless ssh keys that are not in the ed25519 format. This makes it suiteable in combination with `ssh-keyscan`:\n\n```console\n$ ssh-keyscan eve.thalheim.io eva.thalheim.io | ssh-to-age\n# eve.thalheim.io:22 SSH-2.0-OpenSSH_8.6\n...\nage1hjm3aujg9e79f5yth8a2cejzdjg5n9vnu96l05p70uvfpeltnpms7yy3pp\nage1v8zjc47jmlqwefyu66s0d4ke98qr4vnuj3cpvs4z9npfdw833dxqwjrhzv\n```\n\n## Install with nix\n\n```console\n$ nix-shell -p 'import (fetchTarball \"https://github.com/Mic92/ssh-to-age/archive/main.tar.gz\") {}'\n```\n\n## Install with go\n\n```console\n$ go install github.com/Mic92/ssh-to-age/cmd/ssh-to-age@latest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMic92%2Fssh-to-age","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMic92%2Fssh-to-age","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMic92%2Fssh-to-age/lists"}