{"id":24364496,"url":"https://github.com/markuman/hausschrat","last_synced_at":"2025-10-24T12:11:41.613Z","repository":{"id":70098219,"uuid":"315673525","full_name":"markuman/hausschrat","owner":"markuman","description":"the simplest ssh ca","archived":false,"fork":false,"pushed_at":"2020-11-30T18:55:32.000Z","size":82,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-12T09:44:42.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://hausschrat.eu","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/markuman.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":"2020-11-24T15:26:24.000Z","updated_at":"2020-11-30T18:55:17.000Z","dependencies_parsed_at":"2023-03-11T07:58:51.933Z","dependency_job_id":null,"html_url":"https://github.com/markuman/hausschrat","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/markuman/hausschrat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markuman%2Fhausschrat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markuman%2Fhausschrat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markuman%2Fhausschrat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markuman%2Fhausschrat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markuman","download_url":"https://codeload.github.com/markuman/hausschrat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markuman%2Fhausschrat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274727528,"owners_count":25338399,"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","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-01-18T23:53:41.317Z","updated_at":"2025-10-24T12:11:36.571Z","avatar_url":"https://github.com/markuman.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hausschrat\n\nThe simplest SSH CA I can think of.\n\n# design\n\nNowadays it's wide spread to save your public ssh keys in SCM Tools like GitLab, Gitea, Github etc.  \nSo why not use this source for your SSH CA?  \nMost companies self-hosted a SCM Tool already and possible also bind it to a directory. When the linux server are also bind to the same directory - awesome. That are perfect conditions, because you even don't need to orchestrate the users to all your servers.    \nYou only need to glue things together. Here comes _hausschrat_ to play.\n\nA user needs to create an access token in their SCM Tool with `read_user` permissions only. With this access token, _hausschrat_ can verify the user, fetch the users belonging public key, sign them and response with the certificate.\n\n# Documentation\n\nTake a look at `docs/src/` folder or read it online: `https://hausschrat.eu`\n\n# CLI - request a certificate\n\nUsers just needs a `~/.config/hausschrat.yml` file.\n\n```yml\ndefault:\n  server: http://localhost:8080 # hausschrat backend\n  scm_url: https://git.osuv.de \n  api_token: ... # go to your scm tool and create a `read_user` access token.\n  user: m\n  key: markus@dell\n  expire: +5h\n  cert_file: ~/.ssh/test-cert.pub \n```\n\n```shell\n$ hausschrat\nstart issuing certificate for default\ndone\n```\n\n# SCM\n\nContributions and issues are welcome on github.com or gitlab.com\n\n| **host** | **category** |\n| --- | --- |\n| https://git.osuv.de/m/hausschrat | origin |\n| https://gitlab.com/markuman/hausschrat | pull mirror |\n| https://github.com/markuman/hausschrat | push mirror |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkuman%2Fhausschrat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkuman%2Fhausschrat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkuman%2Fhausschrat/lists"}