SSH to an AWS server based on name tag, AMI, autoscaling group, or instance ID.
Alternatives To Ish
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Terraform Aws Ec2 Autoscale Group106
2 months ago5apache-2.0HCL
Terraform module to provision Auto Scaling Group and Launch Template on AWS
Capistrano Elbas81
22 years ago29May 03, 201912mitRuby
Deploy Rails apps to AWS AutoScale groups
6 years agomitPython
SSH to an AWS server based on name tag, AMI, autoscaling group, or instance ID.
Terraform Ecs Autoscaling70
7 years ago4mitHCL
A terraform module for creating an AWS autoscaling group for ECS
Laravel Code Deploy Template35
6 years agounlicenseShell
A template for deploying Laravel applications with AWS CodeDeploy.
Ecs Cluster Manager33
3 years ago2apache-2.0Python
This project is meant to automate and simplify the lifecycle management of an ECS cluster.
Capistrano Autoscaling24
38 years ago8October 10, 20141mitRuby
A Capistrano recipe that configures AutoScaling on Amazon Web Services infrastructure for your application.
Blue Green Eks Worker17
4 years ago1HCL
Some documentation and code for managing blue/green EKS workers
5 years agoFebruary 07, 20181bsd-3-clauseGo
AWS Automation Tools
Zookeeper On Aws14
5 years agomitPython
zookeeper-on-aws (with dynamic reconfiguration based on r3.5.3-beta)
Alternatives To Ish
Select To Compare

Alternative Project Comparisons



Instance-SSH ...ish.

Build Status

ish connects you to a server in your AWS account based on properties of the server. Notably useful when you don't care which server exactly, just a server of a particular type.

Currently you can connect to servers based on their:

  • name tag
  • environment tag
  • instance id
  • autoscaling group membership
  • opsworks instance name (oin)
  • opsworks stack name (ois)
  • image id (AMI)

If more than one server matches the attribute, it will pick one and connect you to it.

If you pass additional parameters, they will get appended to the ssh command.

In the example command, /usr/bin/ssh ip_address echo "hello_there" is the run command:

$ ish name:openvpn echo "hello there"
hello there

ish also supports autocompletion (read below.)


You can install via:

  • setuptools using python3 install and source the contrib/ish-autocomplete script.
  • Homebrew using brew install



To improve performance, instance metadata is stored in $HOME/.ish.json. This file should be automatically replaced if it is over 60 seconds old, but delete it if you experience issues.

AWS Configuration

ish uses boto3 which uses the standard AWS configuration stack. Read more here:

SSH Configuration

The command run is ssh IP. If you want to set additional configuration settings, please use your ~/.ssh/config.

An example SSH configuration might be

Host 172.*
    StrictHostKeyChecking no
    IdentityFile ~/.ssh/keys/aws-keys
    User yourusername

ish connects to the private instance IP

You might find this article helpful if you use a bastion / jump-host instead of a VPN:


A full list of supported targets can be found with ish --completion, and a bash and zsh compatible autocomplete script is found in ./contrib/.

Auto-completing targets with spaces in them

Targets with spaces in them must be quoted, but will be autocompleted without them. Example:

$ ish name:Logstash Ingestion


  • flake8 must pass with no exceptions
  • coverage must report 100% coverage
  • it must run perfectly on python 3, python 2 is not supported.
Popular Autoscaling Projects
Popular Ami Projects
Popular Operations Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.