Skip to main content

No project description provided

Project description

AWS EC2 SSH Utility

This is a command line utility to assist in connecting to EC2 via SSH using IAM and EC2 Instance Connect. It also allows connecting to private instances via a Bastion Host if you have one configured in your VPC. This currently only works on *nix command lines with the OpenSSH client installed at /usr/bin/ssh.

AWS Setup

Follow Amazon's documentation on setting up Instance Connect.

Installation

Install via you're favorite method for installing Python-based CLI tools: pip, pipenv, easy_install, etc. I recommend using pipenv, creating an environment just for this tool and then creating a symlink from the virtualenv bin directory to a directory on your PATH.

$ pipenv install -e git+https://github.com/goodwillaz/elastic-ssh\#egg=elastic-ssh
$ sudo ln -s `pipenv --venv`/bin/aws-ec2 /usr/local/bin/aws-ec2

Once you've installed the utility, you'll need to configure it. It uses AWS's Boto library which means it will look in the standard places for AWS Credentials. To configure the utility with an optional profile name (default is default):

$ aws-ec2 [--profile <profile>] configure

Note that the private key you are prompted for does not need to be the key-pair you used to create your EC2 instance. You can use any RSA based key-pair. The public key must sit in the same folder as the private key and have a .pub suffix to it.

Usage

Simply type aws-ec2 ssh on the command line; you'll be provided with a list of instances (and their names) for easy selection. Select the instance you'd like to connect to and you'll instantly be connected!

For help, simply run aws-ec2 --help or aws-ec2 <command> --help

Environment Variable Support

All of the command line flags can be specified as environment variables (if you need to):

  • AWS_EC2_DEBUG
  • AWS_EC2_PROFILE
  • AWS_EC2_SSH_USER
  • AWS_EC2_SSH_PORT
  • AWS_EC2_SSH_KEY
  • AWS_EC2_SSH_COMMAND

License

See the LICENSE file for license rights and limitations (BSD 3-clause).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elastic-ssh-0.1.1.tar.gz (6.4 kB view hashes)

Uploaded Source

Built Distribution

elastic_ssh-0.1.1-py3-none-any.whl (10.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page