Skip to main content

Manage all your connects to AWS ec2

Project description

# ec2ssh Python script to facilitate SSH access to AWS EC2 instances with dynamic IPs or behind bastion hosts

ec2ssh uses subprocess.call to connect via SSH to EC2 instances on Amazon Web Services and Boto 3 to get the curret public static IP address of the instance. This way you don’t have to allocate an Elastic IP Address to conveniently connect via SSH to the instance, or repeatedly check it’s current static IP address.

This script is in extremely early stage, but it works (I’m currently using it). It’s mostly a way for me to start using and learning Python.

To get the static IP address of the instance and connect you have to provide the program with an identity file with the following information: * Path to the key pair file for the host * User * EC2 Instance ID

Also, Boto 3 must be able to call the AWS EC2 API, which requires AWS credentials. Ideally, you should install the AWS CLI (sudo pip install awscli) and configure it with your credentials (aws configure).

ec2ssh also supports SSH connections via a bastion host, in which case the identity file must also contain the path to the bastion host key pair, the user for the bastion host and the EC2 Instance ID of the bastion host.

What it’s curretly lacking: * A cli command to create a new identity file (which will ask you if you are using a bastion host or not, followed by the required data) * It does not check for any kind of error or exception * It’s not a Python module yet, it’s just a .py script file; ideally it will install itself via pip in the Python modules folder (the identity files will be saved there too)

ec2ssh add <connection_name> => to add a connection name ec2ssh connect <connection_name> => connect to ec2 ec2ssh ls => to list avaible connections ec2ssh rm <connection_name> => remove a connection

Feel free to contribute or comment my code!

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

ec2ssh-2.0.3.tar.gz (5.6 kB view details)

Uploaded Source

File details

Details for the file ec2ssh-2.0.3.tar.gz.

File metadata

  • Download URL: ec2ssh-2.0.3.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ec2ssh-2.0.3.tar.gz
Algorithm Hash digest
SHA256 948b5cb3f8149cc6376012dd4e7dc8d07abbe6591a595de351713284a1213794
MD5 90d48900b3f76eed118da3f10c45f11f
BLAKE2b-256 cbf1be1c5b204dd713a903c986910d7484e071659dca3d6fa9487de716621288

See more details on using hashes here.

Supported by

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