{"id":19838509,"url":"https://github.com/metal-stack/metal-console","last_synced_at":"2025-07-12T11:08:15.712Z","repository":{"id":37405098,"uuid":"241032402","full_name":"metal-stack/metal-console","owner":"metal-stack","description":"Metal Console is responsible to create a secure access to the serial console of a metal machine","archived":false,"fork":false,"pushed_at":"2025-06-04T10:48:01.000Z","size":321,"stargazers_count":6,"open_issues_count":6,"forks_count":0,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-06-04T17:56:05.083Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/metal-stack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-02-17T06:07:49.000Z","updated_at":"2025-03-26T09:31:10.000Z","dependencies_parsed_at":"2025-05-01T18:34:51.076Z","dependency_job_id":"b082d3a3-4f39-4d5a-8e47-4e88973ee305","html_url":"https://github.com/metal-stack/metal-console","commit_stats":{"total_commits":83,"total_committers":10,"mean_commits":8.3,"dds":0.6385542168674698,"last_synced_commit":"9afb968b58b3ddedcd4c30c6a2eae17c0fac3921"},"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/metal-stack/metal-console","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metal-stack%2Fmetal-console","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metal-stack%2Fmetal-console/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metal-stack%2Fmetal-console/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metal-stack%2Fmetal-console/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/metal-stack","download_url":"https://codeload.github.com/metal-stack/metal-console/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/metal-stack%2Fmetal-console/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264979791,"owners_count":23692497,"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":[],"created_at":"2024-11-12T12:17:59.854Z","updated_at":"2025-07-12T11:08:15.696Z","avatar_url":"https://github.com/metal-stack.png","language":"Go","readme":"# metal-console\n\n`metal-console` provides access to the serial console of metal machines.\nThis is achieved by acting as a bridge between ssh and the console protocol of the concrete machine.\nIt will support either libvirt based console access, which is used in the development environment.\nOn real hardware ipmi based lanplus sol (Serial Over LAN) will be used.\n\nTo access the console execute:\n\n```bash\nssh -i \u003cprivate key\u003e \u003cuuid of the machine\u003e@\u003chostname of metal-console server\u003e\n```\n\nThe metal-console will then lookup the given username as machine uuid on metal-api, request which console protocol to use.\nIf the machine uuid is a valid machine, it will then use the provided private key to authenticate against the ssh public key stored in the metal-api for this machine. If access is granted, the user will have access to the console.\n\n`metal-console` figures out in which partition the machine is located and then opens a tls socket connection to `metal-bmc` running on the management server in this partition. `metal-bmc` checks if the tls client certificate matches. If this is the case, it looks up the machine ipmi details from `metal-api` and starts a ipmi sol session to the machine.\n\n## TODO\n\n- If a second console access starts to same machine, kill existing one\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetal-stack%2Fmetal-console","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmetal-stack%2Fmetal-console","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmetal-stack%2Fmetal-console/lists"}