{"id":18836422,"url":"https://github.com/arusahni/aws-ssh","last_synced_at":"2025-04-14T05:30:57.868Z","repository":{"id":57413391,"uuid":"91629390","full_name":"arusahni/aws-ssh","owner":"arusahni","description":"SSH into your AWS EC2 instances with ease!","archived":false,"fork":false,"pushed_at":"2018-05-27T14:58:25.000Z","size":25,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T02:04:37.324Z","etag":null,"topics":["aws","aws-ec2","cli-app","hacktoberfest","ssh"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arusahni.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}},"created_at":"2017-05-17T23:40:58.000Z","updated_at":"2023-02-07T14:50:45.000Z","dependencies_parsed_at":"2022-09-07T11:51:48.375Z","dependency_job_id":null,"html_url":"https://github.com/arusahni/aws-ssh","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arusahni%2Faws-ssh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arusahni%2Faws-ssh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arusahni%2Faws-ssh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arusahni%2Faws-ssh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arusahni","download_url":"https://codeload.github.com/arusahni/aws-ssh/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248826492,"owners_count":21167700,"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-ec2","cli-app","hacktoberfest","ssh"],"created_at":"2024-11-08T02:21:59.377Z","updated_at":"2025-04-14T05:30:57.568Z","avatar_url":"https://github.com/arusahni.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AWS-SSH\n\n[![Build Status](https://travis-ci.org/arusahni/aws-ssh.svg?branch=master)](https://travis-ci.org/arusahni/aws-ssh)\n[![Coverage Status](https://coveralls.io/repos/github/arusahni/aws-ssh/badge.svg?branch=master)](https://coveralls.io/github/arusahni/aws-ssh?branch=master)\n\nSSH into your project-specific AWS EC2 instances by name, without having to\nremember IP addresses \u0026 private keys, or a curating a SSH config.\n\nTurn this: `ssh -i ~/.ssh/project-key.pem ubuntu@198.51.100.13`\n\nInto this: `aws-ssh compute`\n\n## Getting Started\n\n### Prerequisites\n\nAWS-SSH requires Python 2.7 or greater on a POSIX system. You will also need to\nhave [the AWS CLI](https://aws.amazon.com/cli/) installed and configured.\n\n### Installing\n\nPip is the recommended method:\n\n```console\n$ pip install aws-ssh\n```\n\nI recommend installing this into a virtualenv, and then symlinking the binaries\nto your PATH.  For example:\n\n```console\n$ mkvirtualenv -p $(which python3) aws-ssh # Python 3 recommended\n$ pip install aws-ssh\n# Assuming ~/bin/ is in your $PATH...\n$ ln -s ~/.virtualenvs/aws-ssh/bin/{aws-ssh,awssh,ssh-ec2,aws-ssh-cli} ~/bin/\n$ deactivate\n```\n\nYou should now be able to use AWS-SSH outside of your virtualenv!\n\n### Usage\n\nOnce installed, you need to create a project.  Projects are collections of EC2\ninstances that share a common set of parameters.  For example, I may be working\non the `squanch` project, with the following instances in my AWS account:\n\n* squanch-compute - 198.51.100.13\n* squanch-web - 198.51.100.14\n* squanch-data - 198.51.100.15\n\nAssuming I keep my `squanch`-related code in `~/code/squanch`, I will first\nneed to initialize an AWS-SSH project within that directory:\n\n```console\n$ cd ~/code/squanch\n$ aws-ssh --init\nPlease provide the full path ot the directory containing all private keys: ~/.ssh/\nPlease provide a name for this project: squanch\nPlease provide the AWS profile to use: default\nPlease provide the name of the private key used for authentication (including extension): squanch.pem\nPlease provide the prefix for EC2 names: squanch-\nPlease provide the root directory for the project: ~/code/squanch\n```\n\nThis will create an `.awssshconfig` file in the project root directory.  You\ncan manage it under version control to get the team on the same page :-)\n\nNow that AWS-SSH has been configured, time to connect to an instance!\n\n```console\n$ cd ~/code/squanch\n$ aws-ssh web\n# Successful SSH connection to 198.51.100.14\n```\n\nBoom.\n\n## Notes\n\n* AWS-SSH attempts to guess the username for an instance by testing various\n  usernames.  Right now, the sequence of user names is fixed (and based off\n  common AMI usernames).  In a future release, this will be configurable.\n* If your access is dependent on custom routing (e.g., behind a lazy VPN), you\n  may need to abort the connection attempt (via `^C`) and manually add a route\n  for the instance.\n\n## Contributing\n\nContributions welcome! Be sure to use the development package, available under the `dev` extra.\n\n```console\n$ git clone git@github.com:arusahni/aws-ssh\n$ cd aws-ssh\n$ pip install -e .[dev]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farusahni%2Faws-ssh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farusahni%2Faws-ssh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farusahni%2Faws-ssh/lists"}