{ "info": { "author": "Aru Sahni", "author_email": "arusahni@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: System :: Systems Administration" ], "description": "# 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 & 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\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/arusahni/aws-ssh", "keywords": "aws ssh ec2 iam amazon web services remote", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "aws-ssh", "package_url": "https://pypi.org/project/aws-ssh/", "platform": "", "project_url": "https://pypi.org/project/aws-ssh/", "project_urls": { "Homepage": "https://github.com/arusahni/aws-ssh" }, "release_url": "https://pypi.org/project/aws-ssh/0.0.2/", "requires_dist": [ "boto3", "pexpect", "six", "tqdm", "mock; extra == 'dev'", "pytest; extra == 'dev'", "coverage; extra == 'dev'", "pylint; extra == 'dev'", "pytest-cov; extra == 'dev'", "pypandoc; extra == 'dev'" ], "requires_python": "", "summary": "A utility to enable easy SSH connections to AWS EC2 instances.", "version": "0.0.2" }, "last_serial": 3902428, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a9b37d5b488bd051992d006f2b2da9e7", "sha256": "9300936a633d7b66f1e7a92fe61ecd34d25071d737f2967bc3c807a79bbfea2d" }, "downloads": -1, "filename": "aws-ssh-0.0.1.tar.gz", "has_sig": false, "md5_digest": "a9b37d5b488bd051992d006f2b2da9e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9954, "upload_time": "2017-05-17T23:59:24", "url": "https://files.pythonhosted.org/packages/81/3e/a9ec548bd7c1895ded22b9ef381b3fc99a45c10a60f85bfbca73f7f6b6b7/aws-ssh-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "aaadf544afb66402f4e5e4119b97f843", "sha256": "18dad8b8c8eb258d9c7fe29b4d9f8d0c8cd47ee50113035cc5347c7a913c5da2" }, "downloads": -1, "filename": "aws_ssh-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "aaadf544afb66402f4e5e4119b97f843", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10712, "upload_time": "2018-05-27T01:59:14", "url": "https://files.pythonhosted.org/packages/74/af/ff9f0b0b50dbf1d8e257c8b97e43325269be19bf0d933d9beb832505b1b6/aws_ssh-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4bd23792b699fba9a68767cc7e1486c", "sha256": "52713c7e97b8a6af70a67069bde5a62ecf5f353c6472c3286c8307b8f25a588c" }, "downloads": -1, "filename": "aws-ssh-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f4bd23792b699fba9a68767cc7e1486c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10780, "upload_time": "2018-05-27T01:59:15", "url": "https://files.pythonhosted.org/packages/ad/33/4a6d62fabe3101afa1fde18761b898dfdcb5b008bb5890a437ad33643a89/aws-ssh-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "aaadf544afb66402f4e5e4119b97f843", "sha256": "18dad8b8c8eb258d9c7fe29b4d9f8d0c8cd47ee50113035cc5347c7a913c5da2" }, "downloads": -1, "filename": "aws_ssh-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "aaadf544afb66402f4e5e4119b97f843", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10712, "upload_time": "2018-05-27T01:59:14", "url": "https://files.pythonhosted.org/packages/74/af/ff9f0b0b50dbf1d8e257c8b97e43325269be19bf0d933d9beb832505b1b6/aws_ssh-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4bd23792b699fba9a68767cc7e1486c", "sha256": "52713c7e97b8a6af70a67069bde5a62ecf5f353c6472c3286c8307b8f25a588c" }, "downloads": -1, "filename": "aws-ssh-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f4bd23792b699fba9a68767cc7e1486c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10780, "upload_time": "2018-05-27T01:59:15", "url": "https://files.pythonhosted.org/packages/ad/33/4a6d62fabe3101afa1fde18761b898dfdcb5b008bb5890a437ad33643a89/aws-ssh-0.0.2.tar.gz" } ] }