{"id":16799651,"url":"https://github.com/mattkasun/sshlogin","last_synced_at":"2026-03-07T09:31:19.743Z","repository":{"id":207463999,"uuid":"719269446","full_name":"mattkasun/sshlogin","owner":"mattkasun","description":"POC for application login using ssh keys","archived":false,"fork":false,"pushed_at":"2026-01-25T15:47:07.000Z","size":290,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-26T08:38:02.229Z","etag":null,"topics":["go","passkey","ssh"],"latest_commit_sha":null,"homepage":"","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/mattkasun.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-15T20:17:14.000Z","updated_at":"2026-01-25T15:47:10.000Z","dependencies_parsed_at":"2025-03-13T12:25:11.090Z","dependency_job_id":"08a809f1-31ea-48f8-b604-a56a9f0f9ac1","html_url":"https://github.com/mattkasun/sshlogin","commit_stats":null,"previous_names":["mattkasun/sshlogin"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mattkasun/sshlogin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattkasun%2Fsshlogin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattkasun%2Fsshlogin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattkasun%2Fsshlogin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattkasun%2Fsshlogin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mattkasun","download_url":"https://codeload.github.com/mattkasun/sshlogin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mattkasun%2Fsshlogin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30210829,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T09:02:10.694Z","status":"ssl_error","status_checked_at":"2026-03-07T09:02:08.429Z","response_time":53,"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":["go","passkey","ssh"],"created_at":"2024-10-13T09:29:26.111Z","updated_at":"2026-03-07T09:31:19.621Z","avatar_url":"https://github.com/mattkasun.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sshlogin\nPOC for application login using ssh keys\n\nclient and server code to demonstrate using ssh keys for login\n# Steps:\n### Registration\n    a. client registers with server by calling register endpoint with username and ssh publickey\n    b. server stores user data (a simple map for POC only)\n### Login\n   a. client signs a string and calls login endpoint with string, ssh signature, and username\n   b. server verifies signature and returns session cookie\n### Application Enpoints\n  a. client includes session cookie for calls to application endpoints\n\n# Server Cmd\n````\nA server which supports user registeration and login via ssh\n\nUsage:\n  server [flags]\n\nFlags:\n  -p, --port int        server port (default 8080)\n````\n# Client Cmd\n````\nclient to register/login/interact with app server using ssh\n\nUsage:\nclient [flags] command\n\nFlags:\n  -p int\n        server listening port (default 8080)\n  -s string\n        server url (default \"http://localhost\")\n\nCommands:\n        get             http get request\n        login           server login using ssh key\n        post            send post request to server\n        register        server registration user with server\n\nFor help about a command\n         client [command] -h\n````\n## register\n````\nregister user with server\n\nUsage:\nclient [global flags] register [flags] \u003cusername\u003e\n\nGlobal Flags:\n  -p int\n        server listening port (default 8080)\n  -s string\n        server url (default \"http://localhost\")\n\nCommand Flags\n  -k string\n        name of public ssh key (relative to $HOME/.ssh/) (default \"id_ed25519.pub\")\n\nExamples:\nclient register myName\n````\n## login\n````\nlogin to an app server using ssh\n\nUsage:\nclient [global flags] login [flags] \u003cusername\u003e\n\nGlobal Flags:\n  -p int\n        server listening port (default 8080)\n  -s string\n        server url (default \"http://localhost\")\n\nCommand Flags\n  -k string\n        name of private ssh key (relative to $HOME/.ssh/) (default \"id_ed25519\")\n\nExamples:\nclient login myName\n````\n## get\n```\nsend request to server\n\nUsage:\nclient [global flags] get [flags] \u003cpath\u003e\n\nGlobal Flags:\n  -p int\n        server listening port (default 8080)\n  -s string\n        server url (default \"http://localhost\")\n\nCommand Flags\n\nExamples:\nclient get ip\n```\n## post\n````\nsend post to server\n\nUsage:\nclient [global flags] post [flags] \u003cpath\u003e\n\nGlobal Flags:\n  -p int\n        server listening port (default 8080)\n  -s string\n        server url (default \"http://localhost\")\n\nCommand Flags\n\nExamples:\nclient post lines hello world\n````\n # Example session\n ````\n\u003e client register aUser\nregistration successfull for aUser\n\u003e client login aUser\nlogin successful\n\u003e client get ip\nip address is 127.0.0.1:38542\n\u003e client post lines hello world\n{\"hello\":\"world\"}\n````\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattkasun%2Fsshlogin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmattkasun%2Fsshlogin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmattkasun%2Fsshlogin/lists"}