{"id":13548478,"url":"https://github.com/omegion/ssh-manager","last_synced_at":"2026-03-09T04:12:16.130Z","repository":{"id":37043164,"uuid":"344174158","full_name":"omegion/ssh-manager","owner":"omegion","description":"SSH Key Manager for 1Password, Bitwarden and AWS S3.","archived":false,"fork":false,"pushed_at":"2026-02-16T02:37:21.000Z","size":1019,"stargazers_count":283,"open_issues_count":22,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-02-16T09:50:30.902Z","etag":null,"topics":["1password","aws-s3","bitwarden","bw","go","open-source","s3","s3-bucket","ssh","ssh-agent","ssh-key"],"latest_commit_sha":null,"homepage":"https://ssh-manager.omegion.dev","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omegion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-03T15:32:16.000Z","updated_at":"2026-01-31T11:13:20.000Z","dependencies_parsed_at":"2023-02-16T05:46:07.573Z","dependency_job_id":"48efdfa3-7417-47ed-922e-60e6f04c8236","html_url":"https://github.com/omegion/ssh-manager","commit_stats":null,"previous_names":["omegion/bw-ssh"],"tags_count":145,"template":false,"template_full_name":null,"purl":"pkg:github/omegion/ssh-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omegion%2Fssh-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omegion%2Fssh-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omegion%2Fssh-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omegion%2Fssh-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omegion","download_url":"https://codeload.github.com/omegion/ssh-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omegion%2Fssh-manager/sbom","scorecard":{"id":706085,"data":{"date":"2025-08-11","repo":{"name":"github.com/omegion/ssh-manager","commit":"22e9b1dcf28fc18329cd3d310abde3de1b8b7973"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":4.3,"checks":[{"name":"Code-Review","score":-1,"reason":"Found no human activity in the last 30 changesets","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/build.yml:16","Warn: no topLevel permission defined: .github/workflows/build.yml:1","Warn: no topLevel permission defined: .github/workflows/test.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":1,"reason":"dependency not pinned by hash detected -- score normalized to 1","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:87: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:50: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:57: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/build.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/omegion/ssh-manager/test.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:4","Warn: containerImage not pinned by hash: Dockerfile:24","Warn: goCommand not pinned by hash: .github/workflows/test.yml:29","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   8 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned","Info:   2 out of   3 goCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.66.0 not signed: https://api.github.com/repos/omegion/ssh-manager/releases/238886577","Warn: release artifact v1.65.0 not signed: https://api.github.com/repos/omegion/ssh-manager/releases/237210712","Warn: release artifact v1.64.0 not signed: https://api.github.com/repos/omegion/ssh-manager/releases/235495427","Warn: release artifact v1.63.0 not signed: https://api.github.com/repos/omegion/ssh-manager/releases/233789816","Warn: release artifact v1.62.0 not signed: https://api.github.com/repos/omegion/ssh-manager/releases/232092891","Warn: release artifact v1.66.0 does not have provenance: https://api.github.com/repos/omegion/ssh-manager/releases/238886577","Warn: release artifact v1.65.0 does not have provenance: https://api.github.com/repos/omegion/ssh-manager/releases/237210712","Warn: release artifact v1.64.0 does not have provenance: https://api.github.com/repos/omegion/ssh-manager/releases/235495427","Warn: release artifact v1.63.0 does not have provenance: https://api.github.com/repos/omegion/ssh-manager/releases/233789816","Warn: release artifact v1.62.0 does not have provenance: https://api.github.com/repos/omegion/ssh-manager/releases/232092891"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":6,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/build.yml:41"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":2,"reason":"8 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2023-1988 / GHSA-2wrh-6pvc-2jm9","Warn: Project is vulnerable to: GO-2023-2102 / GHSA-4374-p667-p6c8","Warn: Project is vulnerable to: GO-2023-2153 / GHSA-m425-mq94-257g / GHSA-qppj-fm5r-hxr3","Warn: Project is vulnerable to: GO-2024-2687 / GHSA-4v7x-pqxf-cx7m","Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw","Warn: Project is vulnerable to: GO-2025-3488 / GHSA-6v2p-p543-phr9"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T06:37:52.737Z","repository_id":37043164,"created_at":"2025-08-22T06:37:52.737Z","updated_at":"2025-08-22T06:37:52.737Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30282900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["1password","aws-s3","bitwarden","bw","go","open-source","s3","s3-bucket","ssh","ssh-agent","ssh-key"],"created_at":"2024-08-01T12:01:10.902Z","updated_at":"2026-03-09T04:12:16.053Z","avatar_url":"https://github.com/omegion.png","language":"Go","readme":"\u003ch1 align=\"center\"\u003e\nSSH Key Manager for 1Password, Bitwarden and AWS S3.\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://ssh-manager.omegion.dev\" target=\"_blank\"\u003e\n    \u003cimg width=\"180\" src=\"https://ssh-manager.omegion.dev/img/logo.png\" alt=\"logo\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/workflow/status/omegion/ssh-manager/Tests\" alt=\"Check\"\u003e\u003c/a\u003e\n    \u003cimg src=\"https://coveralls.io/repos/github/omegion/ssh-manager/badge.svg?branch=master\" alt=\"Coverall\"\u003e\u003c/a\u003e\n    \u003cimg src=\"https://goreportcard.com/badge/github.com/omegion/ssh-manager\" alt=\"Report\"\u003e\u003c/a\u003e\n    \u003ca href=\"http://pkg.go.dev/github.com/omegion/ssh-manager\"\u003e\u003cimg src=\"https://img.shields.io/badge/pkg.go.dev-doc-blue\" alt=\"Doc\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/omegion/ssh-manager/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/omegion/ssh-manager\" alt=\"License\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n```shell\nSSH Key Manager for 1Password, Bitwarden and AWS S3.\n\nUsage:\n  ssh-manager [command]\n\nAvailable Commands:\n  add         Add Manager key to given provider.\n  completion  Generate the autocompletion script for the specified shell\n  get         Get Manager key from given provider.\n  help        Help about any command\n  list        List Manager keys from given provider.\n  version     Print the version/build number\n\nFlags:\n  -h, --help               help for ssh-manager\n      --logFormat string   Set the logging format. One of: text|json (default \"text\") (default \"text\")\n      --logLevel string    Set the logging level. One of: debug|info|warn|error (default \"info\")\n\nUse \"ssh-manager [command] --help\" for more information about a command.\n```\n\n## Installation\n\nYou can use `go` to build SSH Manager locally with:\n\n```shell\ngo install github.com/omegion/ssh-manager@latest\n```\n\nThis will install `ssh-manager` binary to your `GOPATH`.\n\nOr, you can use the usual commands to install or upgrade:\n\nOn OS X\n\n```shell\nsudo curl -fL https://github.com/omegion/ssh-manager/releases/latest/download/ssh-manager-darwin-amd64 -o /usr/local/bin/ssh-manager \\\n\u0026\u0026 sudo chmod +x /usr/local/bin/ssh-manager\n```\n\nOn Linux\n\n```shell\nsudo curl -fL https://github.com/omegion/ssh-manager/releases/latest/download/ssh-manager-linux-amd64 -o /usr/local/bin/ssh-manager \\\n\u0026\u0026 sudo chmod +x /usr/local/bin/ssh-manager\n```\n\nOn Windows (Powershell)\n\n```powershell\nInvoke-WebRequest -Uri https://github.com/omegion/ssh-manager/releases/latest/download/ssh-manager-windows-amd64 -OutFile $home\\AppData\\Local\\Microsoft\\WindowsApps\\ssh-manager.exe\n```\n\nOtherwise, download one of the releases from the [release page](https://github.com/omegion/ssh-manager/releases/)\ndirectly.\n\n## Requirements\n\n* Have the [Bitwarden CLI tool](https://github.com/bitwarden/cli) installed and available in the `$PATH` as `bw`.\n* Or have the [1Password CLI tool](https://1password.com/downloads/command-line/) installed and available in the `$PATH`\n  as `op`.\n* Have the `ssh-agent` running in the current session.\n\n## What does it do?\n\nInjects SSL keys to `ssh-agent` stored in 1Password, Bitwarden and AWS S3.\n\n## How to use it\n\n1. Login to Bitwarden or 1Password with `bw` or `op`. If you are using S3, set your credentials.\n1. Add your key pairs to your password manager.\n\nFor 1Password\n---\n\n```shell\nssh-manager add --name my-another-server --private-key $PK_PATH --public-key $PUB_KEY_PATH --provider op\n```\n\nFor Bitwarden\n---\n\n```shell\nssh-manager add --name my-server --private-key $PK_PATH --public-key $PUB_KEY_PATH --provider bw\n```\n\nFor AWS S3\n---\n\n```shell\nssh-manager add --name my-another-server --private-key $PK_PATH --public-key $PUB_KEY_PATH --provider s3 --bucket my-bucket\n```\n\n## Improvements to be made\n\n* 100% test coverage.\n* Better covering for other features.\n\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomegion%2Fssh-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomegion%2Fssh-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomegion%2Fssh-manager/lists"}