Skip to content

seomoz/awssh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AWSSH Config

Perhaps you've encountered this because you're sick of checking the AWS console to find the public DNS of the particular machine you're working with. Perhaps it's because you work with dozens or hundreds of machines on AWS and simply can't keep track of them. Or perhaps it's out of shame from remembering the actual AWS-provided name for your instances.

It's the future, and we can use ssh config. So, where's my flying car?

Installation

You'll need python's setuptools:

# On Linux:
sudo apt-get install python-setuptools
# Or, alternatively
sudo yum install python-setuptools
# On Mac
sudo port install py-setuptools

With that installed, you're ready to rock-and-or-roll!

sudo python ./setup.py install

Configuration

This package uses boto, which checks for a configuration file ~/.boto. You can add your access ID and secret key to that file such:

[Credentials]
aws_access_key_id = <your id here>
aws_secret_access_key = <you get the picture>

If a remote instance uses keypair production, then this package assumes that your keyfile resides locally at ~/.ssh/production.

Running

# Easy-peasy
awssh-config

What it is and does

A quick way to get a list of all your instances by name, and automatically set up your ~/.ssh/config to enable you to log into your EC2 instances by name. A few things to keep in mind:

  1. It will not clobber information in existing ssh config
  2. Be that as it may, it does not preserve order
  3. It does preserves comments
  4. Saves a backup copy at ~/.ssh/config.bak
  5. Assumes key name production lives at ~/.ssh/production
  6. It is interruptable without corrupting ~/.ssh/config

Roadmap

  1. Support for multiple AWS accounts
  2. Read an optional 'User' tag to designate the username for each machine

Releases

No releases published

Packages

No packages published

Languages