{"id":24012908,"url":"https://github.com/glassechidna/ec2connect","last_synced_at":"2025-04-15T08:41:38.672Z","repository":{"id":43875626,"uuid":"194219149","full_name":"glassechidna/ec2connect","owner":"glassechidna","description":null,"archived":false,"fork":false,"pushed_at":"2023-02-24T19:03:51.000Z","size":44,"stargazers_count":59,"open_issues_count":9,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T18:12:06.984Z","etag":null,"topics":["aws","aws-sdk-go","ec2","golang","ssh"],"latest_commit_sha":null,"homepage":null,"language":"Go","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/glassechidna.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":"2019-06-28T06:25:51.000Z","updated_at":"2023-07-20T23:17:51.000Z","dependencies_parsed_at":"2024-06-20T00:25:12.995Z","dependency_job_id":"f038d4a6-1994-4bea-8965-24ae6126bc6e","html_url":"https://github.com/glassechidna/ec2connect","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/glassechidna%2Fec2connect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glassechidna%2Fec2connect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glassechidna%2Fec2connect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glassechidna%2Fec2connect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glassechidna","download_url":"https://codeload.github.com/glassechidna/ec2connect/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249038887,"owners_count":21202803,"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":["aws","aws-sdk-go","ec2","golang","ssh"],"created_at":"2025-01-08T06:23:13.154Z","updated_at":"2025-04-15T08:41:38.639Z","avatar_url":"https://github.com/glassechidna.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `ec2connect`\n\n![render1561718563616](https://user-images.githubusercontent.com/369053/60337186-ad908180-99e5-11e9-9db3-de8b0d353739.gif)\n\nIn [June 2019][rel-notes], AWS released [EC2 Instance Connect][docs] - a way of\nauthenticating SSH sessions using AWS IAM policies. This **massively** improves\nsecurity by removing the need for sharing SSH private keys. It also improves\nreliability by removing the need for any workarounds to avoid sharing keys!\n\nAWS did release an [`mssh`][mssh] tool, but it's not as nice as it could be.\n`ec2connect` improves upon it:\n\n* Doesn't require Python to be installed. Single binary available for Mac, Linux\n  and Windows.\n* Doesn't require a new command to be remembered - just `ssh ec2-user@host` as \n  normal.\n* Integrates nicely with every other tool - any tool that relies on SSH (e.g. `git`)\n  will work out of the box due to the above.\n\n## Installation\n\n* Mac: `brew install glassechidna/taps/ec2connect`\n* Windows: `scoop bucket add glassechidna https://github.com/glassechidna/scoop-bucket.git; scoop install ec2connect`\n* Otherwise get the latest build from the [Releases][releases] tab.\n\n## Usage\n\nOn first time usage, run `ec2connect setup`. This sets up your SSH configuration\nto use `ec2connect` to connect to your instances. You only need to run this once.\n\nNow, connect to your instances using `ssh \u003cuser\u003e@\u003cinstance id\u003e`. For example:\n\n```\n# regular ssh connection\nssh ec2-user@i-000abc124def\n\n# in a different region\nAWS_REGION=us-west-2 ssh ec2-user@i-000abc124def\n\n# with a profile\nAWS_PROFILE=mycompany ssh ec2-user@i-000abc124def\n\n# with port-forwarding. the possibilities are endless!\nssh -L 2375:127.0.0.1:2375 ec2-user@i-000abc124def\n```\n\n## Known issues\n\nRight now this tool only works with SSH public keys that are stored on disk or\nin an SSH agent. What that means in effect is that you can't pass in an identity \nusing `ssh -i \u003cpemfile\u003e`.\n\n[rel-notes]: https://aws.amazon.com/about-aws/whats-new/2019/06/introducing-amazon-ec2-instance-connect/\n[docs]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html\n[mssh]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html#ec2-instance-connect-install-eic-CLI\n[releases]: https://github.com/glassechidna/ec2connect/releases\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglassechidna%2Fec2connect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglassechidna%2Fec2connect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglassechidna%2Fec2connect/lists"}