Skip to main content

Maintain a whitelist of IP address blocks to access AWS over SSH

Project description

A small tool to make it pretty simple to add and remove ip addresses (or CIDR blocks) from an AWS security group. This acts like a sort of oversimplified VPN, where you can quickly give yourself SSH access to a project as you move about from network to network.

Better Solutions

Anyone who knows enough to use a tool like this likely knows that there are better options available, from hardware VPNs to software VPNs hosted on an EC2 instance, and so forth. If you are using this tool and you haven’t even considered using something better, this is your chance: look at the better options, and see if they fit your needs.

Of course, most of those other options require you to get additional hardware or software resources involved and might come with costs. I understand, that’s why I made a little tool to make do.


This is a python tool, packaged as a python module, so you should be able to just run

$ pip install awswl

Of course, if you don’t know what a python module is, or you don’t have python and pip installed, you may have additional work ahead of you.


If you want usage help at the command line, try:

$ awswl --help

You can list the IP address blocks that are authorized:

$ awswl --list

Authorize your current IP Address:

$ awswl --add-current

Remove authorization for your current IP:

$ awswl --remove-current

Authorize a manually-specified CIDR block:

$ awswl --add

Remove authorization for a manually-specified CIDR block:

$ awswl --remove

For each of these commands, you need to tell awswl which security group to use, which you can do with the --sgid command-line option or using an environment variable.


All of these require you to have AWS credentials set up in advance, stored in ~/.aws/credentials, and if you need to use a profile, you can configure it with AWS_PROFILE. If you want to identify the security group using a command-line variable so that you don’t have to put it into each command invocation, you can put it in AWSWL_SGID.

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

awswl-1.0.0b1.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

awswl-1.0.0b1-py2.py3-none-any.whl (9.0 kB view hashes)

Uploaded Python 2 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