awssh
SSH boto3 utility for AWS
Installation
First, install the aws-cli and boto3 libraries:
$ pip install awscli --upgrade --user
$ pip install boto3
Next, set up credentials and default region:
$ aws configure
Finally, install the awssh utility:
$ pip install ssh-aws # or pip install --user ssh-aws
Note: The awssh utility is installed in $HOME/Library/Python/2.7/bin which may not be on PATH.
Consider adding this directory to PATH.
Version update
$ echo y | pip uninstall ssh-aws
$ pip install --no-cache --user ssh-aws
$ awssh --version
Requirements
- Python 2.7
- boto3
- aws-cli
Features
The awssh utility gives you a list of aws instances and preconfigures ssh with the proper key and user.
You can filter by instance name. If it matches only one instance you will be logged into it.
This utility also allows local and remote port forwarding for SSH tunneling (e.g. ssh -L 9000:imgur.com:80 user@<ip_address>).
By default, ssh command is executed with the -A option, which enables forwarding the authentication agent connection.
This is particularly useful when using a single access point such as a jump server.
In addition, if an instance without an external IP is selected, the utility attempts to find a bastion server and ssh with the -t option (e.g. ssh -A ubuntu@<bastion> -t ssh <ip_address>).
Usage
usage: awssh [-h] [--users USERS [USERS ...]] [--region REGION] [-i KEY_PATH]
[-c COMMAND] [-r REMOTE_HOST] [-p REMOTE_PORT] [-l LOCAL_PORT]
[--keys KEYS] [--timeout TIMEOUT] [--console-output]
[--profile PROFILE] [--version]
[filter]
SSH into AWS instances. The default user list assumes that your user is
centos, ubuntu, or ec2-user. ex: "awssh --users user1 user2 --region us-west-2
--keys '~/.keys' instance-name". Note that "awssh --users user1 user2
instance-name" will not be parsed properly due to the nature of nargs. In that
case you may want to do: 'awssh instance-name --users user1 user2'.
positional arguments:
filter Optional instance name or key word as a filter. If
only one instance is found, it will connect to it
directly.
optional arguments:
-h, --help show this help message and exit
--users USERS [USERS ...]
Users to try (centos, ubuntu, and ec2-user are
defaults).
--region REGION AWS region (User default if non is provided).
-i KEY_PATH, --key-path KEY_PATH
Specific key path, overrides, --keys
-c COMMAND, --command COMMAND
Translates to ssh -C
-r REMOTE_HOST, --remote-host REMOTE_HOST
Open a tunnel. Equivalent to ssh -L <local-port
>:<remote-host>:<remote-port> <selected-aws-host>
-p REMOTE_PORT, --remote-port REMOTE_PORT
Port to use on the remote host (default is 5432).
-l LOCAL_PORT, --local-port LOCAL_PORT
Port to use on the local host. Get overwritten by
remote port if not defined.
--keys KEYS Directory of the private keys (~/.ssh by default).
--timeout TIMEOUT SSH connection timeout.
--console-output Display the instance console out before logging in.
--profile PROFILE Use a specific profile from your credentials file.
--version Returns awssh's version.
Examples:
awssh --region us-east-2
awssh --users user1 user2 --region us-east-2 --keys '~/.ssh' instance-name
awssh instance-name --users user1 user2
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ssh-aws-2.3.8.tar.gz.
File metadata
- Download URL: ssh-aws-2.3.8.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5be44e897c2dbd56d897c55b43a8ee7c54695216fcba960fe9ad72b6dc76661
|
|
| MD5 |
5dc887e48a516928507d1a1127de544a
|
|
| BLAKE2b-256 |
59da19fd2c7f2b568bee72fc9363642edb446e7b808fae48519cce631088ec82
|
File details
Details for the file ssh_aws-2.3.8-py3-none-any.whl.
File metadata
- Download URL: ssh_aws-2.3.8-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.5.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e53d91644b2bb74d7fc7c81f8b39c8c06ce1ac918df94efcd69aeb150a64998f
|
|
| MD5 |
0abff593abf4e62f79f7af60ecf596d5
|
|
| BLAKE2b-256 |
1e7142f015797191498b1afdf3277b37319b9cc5f085e3ef6d382b58ff80595e
|