{"id":22268836,"url":"https://github.com/rorycl/lsagentcerts","last_synced_at":"2025-03-25T15:20:35.170Z","repository":{"id":151927516,"uuid":"611503910","full_name":"rorycl/lsagentcerts","owner":"rorycl","description":"list expiring ssh agent certificates","archived":false,"fork":false,"pushed_at":"2023-05-10T15:33:13.000Z","size":18,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-30T13:41:54.484Z","etag":null,"topics":["golang","ssh","ssh-agent","ssh-certificates"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rorycl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-03-09T00:37:12.000Z","updated_at":"2023-03-09T17:32:30.000Z","dependencies_parsed_at":"2023-05-16T10:45:26.450Z","dependency_job_id":null,"html_url":"https://github.com/rorycl/lsagentcerts","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rorycl%2Flsagentcerts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rorycl%2Flsagentcerts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rorycl%2Flsagentcerts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rorycl%2Flsagentcerts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rorycl","download_url":"https://codeload.github.com/rorycl/lsagentcerts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245486360,"owners_count":20623244,"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":["golang","ssh","ssh-agent","ssh-certificates"],"created_at":"2024-12-03T11:14:02.479Z","updated_at":"2025-03-25T15:20:35.125Z","avatar_url":"https://github.com/rorycl.png","language":"Go","readme":"# lsagentcerts\n\nVersion 0.0.3 : 10 May 2023\n\nA simple tool to list expiring ssh certificates which may be suitable\nfor running as a cron job or ssh `Match ... exec` block as part of an\nautomated approach to refreshing ssh certificates.\n\nNote that it may be advisable to remove an expiring certificate when\nreplacing it with a refreshed certificate else this program will still\nreport the expiring certificate until it is dropped by the agent.\n\n## Usage\n\n```\nlsagentcerts lists certificates in the ssh agent at the provided socket\nthat are due to expire in the specified expiration period. Certificates\nmay be filtered. To show all certificates use the verbose flag, or use\nthe terse flag to exit 1 if any certificates are due to expire.\n\nUsage of ./lsagentcerts:\n  -e duration\n    \texpiration window (default 1h0m0s)\n  -f string\n    \tonly show certificates containing the lowercase filter string\n  -s string\n    \tssh agent socket, typically SSH_AUTH SOCK (default \"/tmp/ssh-9qxvRBQYCOkX/agent.77431\")\n  -t\tterse: exit 1 if any certs will expire within the expiration window\n  -v\tlist all certificates and note non-certificate keys in the agent\n```\n\nVerbose mode includes non-expiring certificates and keys.\n\n```\n./lsagentcerts -v -e 1h20m\n\nkey  SHA256:32CvkGqZAkKhcrPZqALs0tdx+O571Ewxsddngs4qYBs\n     type     : ssh-rsa\n     comment  : /home/briony/.ssh/id_briony_key\n\nkey  SHA256:Ye3VV0z4vDvAuiZYqw4ji2Ht/JlDTMNlpTZoeZR+bDs\n     type     : ssh-ed25519\n     comment  : briony@test.com\n\ncert SHA256:rz4rsiRFFz36ubpiEiqH/wD53QR99GbkVqL9P9A2zCI\n     type     : ssh-ed25519-cert-v01@openssh.com\n     comment  : acmeinc_briony_from:2023-05-10T13:02_to:2023-05-10T14:32UTC\n     validity : 2023-05-10T14:02:04 to 2023-05-10T15:32:04\n     expires  : 1h16m1s\n     marked   : true\n\ncert SHA256:RZd7xjHvjsD49b9StEfwXK6pnhSAL23jhfulRPixGro\n     type     : ssh-ed25519-cert-v01@openssh.com\n     comment  : acmeinc_briony_from:2023-05-10T13:15_to:2023-05-10T14:45UTC\n     validity : 2023-05-10T14:15:37 to 2023-05-10T15:45:37\n     expires  : 1h29m34s\n     marked   : false\n```\n\nThe expiry setting allows the expiration to be specified. Go\n`time.ParseDuration` strings such as \"s\", \"m\" and \"h\" can be used,\nincluding constructs such as `1h20m` as shown above.\n\nTerse mode exits status 1 if there are expiring certificates\n\n```\n./lsagentcerts -e 90m -t || echo $?\n1\n```\n## License\n\nThis project is licensed under the [MIT Licence](LICENCE).\n\nRory Campbell-Lange\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frorycl%2Flsagentcerts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frorycl%2Flsagentcerts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frorycl%2Flsagentcerts/lists"}